1. Asegúrese de incluir confirmable en la llamada Model.devise
class User < ActiveRecord::Base
devise :database_authenticatable, :confirmable ...
end
2. Asegúrese de agregar confirmable a la migración del usuario
create_table :users do |t|
t.database_authenticatable
t.confirmable
...
end
Si está utilizando devise 2.0+, esto falla porque idear ya no proporciona ayuda para la migración y, por lo tanto, t.confirmable
genera un error. En su lugar, copie el bloque etiquetado como "Confirmable" de su guía de migración .
3. Genere las vistas de diseño, con cualquiera de los siguientes comandos, para que pueda anular las vistas de diseño de correo:
rails generate devise:views # global
rails generate devise:views users # scoped
Ahora puede anular las vistas de envío de correos en devise/mailer/confirmation_instructions.html.erb
o users/mailer/confirmation_instructions.html.erb
según su configuración
4. Para el entorno de desarrollo , agregue las siguientes líneas de configuración en/config/environments/development.rb
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {:address => "localhost", :port => 1025}
5. Para el entorno de producción/config/environments/production.rb
, puede usar algo similar a lo siguiente (suponiendo que tenga un servidor SMTP en localhost: 25):
config.action_mailer.default_url_options = {:host => 'yourdomain.com'}
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "127.0.0.1",
:port => 25,
:domain => 'yourdomain.com'
}
6 Para probar la configuración en desarrollo, instale la gema mailcatcher, que usará como servidor SMTP en desarrollo, capturando todos los correos entrantes y mostrándolos en http://localhost:1080/
:
gem install mailcatcher
Una vez instalado, inicie el servidor mailcatcher con el comando:
mailcatcher
Se ejecutará un servidor SMTP de juguete en el puerto 1025 para capturar correos electrónicos y desplazarlos en el puerto HTTP 1080.
Ahora puede crear una cuenta y ver las confirmaciones.