He instalado Devise para mi aplicación Rails (3.0.1) y funciona principalmente. Acabo de parece que no puede personalizar las vistas de correo.Ruby/Rails: ¿Cómo personalizas las plantillas de mailing de Devise?
- Mi modelo de usuario es "Usuario".
- Los controladores Idear (que necesitaba para anular así que podría decir lo que los controladores de archivo de diseño a utilizar) están en
app/controllers/users/
, al igual queapp/controllers/users/sessions_controller.rb
- La idear vistas (que he editado) están en
app/views/users/
al igual queapp/views/users/registrations/new.html.haml
- Aquí es la parte de mi legado archivo de rutas:
devise_for :users, :controllers => { :sessions => "users/sessions", :registrations => "users/registrations", :passwords => "users/passwords", :confirmations => "users/confirmations", :unlocks => "users/unlocks" } do get "/login" => "devise/sessions#new" get "/logout" => "devise/sessions#destroy" end
Todo por encima de las obras, por lo menos. Sin embargo, al enviar correos electrónicos, , las plantillas que Devise parece usar no son las que he editado en app/views/users/mailer/
. El dispositivo todavía parece recuperar el predeterminado (como si nunca hubiera editado los archivos). Supongo que Devise todavía usa los archivos en la gema.
En caso de que ayuda, aquí está el error Pepino:
Feature: Manage accounts
In order to manage accounts
users
should be able to signup
# By default, www.example.com is the host when testing.
# This is a problem because when our site searches for the domain example.com, it cant find any.
# Therefore we must either set our testing domain to one of our choosing (and mention that in the routes), or create a domain example.com
# I prefer the first option.
Scenario: Signing up and resetting the password # features/manage_accounts.feature:10
Given I am on the login page # features/step_definitions/web_steps.rb:19
When I follow "Sign up" # features/step_definitions/web_steps.rb:33
And I fill in "Login" with "bobrobcom" # features/step_definitions/web_steps.rb:39
And I fill in "Email" with "[email protected]" # features/step_definitions/web_steps.rb:39
And I fill in "Password" with "123456" # features/step_definitions/web_steps.rb:39
And I fill in "Password confirmation" with "123456" # features/step_definitions/web_steps.rb:39
And I press "Sign up" # features/step_definitions/web_steps.rb:27
Then I should see "Your account has been created. A confirmation was sent to your e-mail." # features/step_definitions/web_steps.rb:107
And I should receive an email # features/step_definitions/email_steps.rb:51
When I open the email # features/step_definitions/email_steps.rb:72
Then I should see "Welcome bobrobcom!" in the email body # features/step_definitions/email_steps.rb:96
expected "<p>Welcome [email protected]!</p>\n\n<p>You can confirm your account through the link below:</p>\n\n<p><a href=\"http://stils.dev/users/confirmation?confirmation_token=d9ZXliqfTArb2cNmwPzL\">Confirm my account</a></p>\n" to include "Welcome bobrobcom!" (RSpec::Expectations::ExpectationNotMetError)
./features/step_definitions/email_steps.rb:97:in `/^(?:I|they) should see "([^"]*?)" in the email body$/'
features/manage_accounts.feature:21:in `Then I should see "Welcome bobrobcom!" in the email body'
When I follow "Confirm my account" # features/step_definitions/web_steps.rb:33
Then I should see "Your account was successfully confirmed. You are now signed in." # features/step_definitions/web_steps.rb:107
When I log out # features/step_definitions/user_steps.rb:9
And I go to the reset password page # features/step_definitions/web_steps.rb:23
And I fill in "Email" with "[email protected]" # features/step_definitions/web_steps.rb:39
And I press "Send me reset password instructions" # features/step_definitions/web_steps.rb:27
Then I should see "You will receive an email with instructions about how to reset your password in a few minutes." # features/step_definitions/web_steps.rb:107
And I should receive an email # features/step_definitions/email_steps.rb:51
When I open the email # features/step_definitions/email_steps.rb:72
Then I should see "Hello bobrobcom!" in the email body # features/step_definitions/email_steps.rb:96
When I follow "Change my password" in the email # features/step_definitions/email_steps.rb:166
Then I should see "Set your new password" # features/step_definitions/web_steps.rb:107
Failing Scenarios:
cucumber features/manage_accounts.feature:10 # Scenario: Signing up and resetting the password
Y app/views/usuarios/confirmation_instructions.erb:
<p>Welcome <%= @resource.login %>!</p>
<p>You can confirm your account through the link below:</p>
<p><%= link_to 'Confirm my account', confirmation_url(@resource, :confirmation_token => @resource.confirmation_token) %></p>
Además, si ayuda, aquí están los controladores I ha anulado:
| | |~users/
| | | |-confirmations_controller.rb
| | | |-passwords_controller.rb
| | | |-registrations_controller.rb
| | | |-sessions_controller.rb
| | | `-unlocks_controller.rb
¿Cómo puedo solucionar este problema?
Gracias!
Estoy confundido, ya que todas mis cosas están bajo el espacio de nombres de usuario, ¿las vistas deben estar bajo 'app/views/users /'? Eso es lo que tengo ahora, y cuando edito las vistas para las otras cosas (app/views/users/registrations, por ejemplo) refleja el cambio en mi aplicación. * No * la aplicación/vistas/usuarios/vistas de correo sin embargo. –
Parece que tiene las plantillas de correo en el lugar correcto. Mire este hilo http://groups.google.com/group/plataformatec-devise/browse_thread/thread/98cdb37ac52bdf51, ¿puede indicarle la dirección correcta? –
hola, estoy teniendo el mismo problema que el póster, y esta respuesta no es realmente una respuesta. Tengo una solución pirateada, que es enlazar mis vistas/usuarios a vistas/ideas; con eso, idear utiliza las plantillas de correo personalizado. Pero esa solución no está limpia, y no quiero tener un directorio de usuarios y un dispositivo. ¿Alguien más puede aclarar? –