1. Assurez-vous d'inclure confirmable dans l'appel Model.devise
class User < ActiveRecord::Base
devise :database_authenticatable, :confirmable ...
end
2. Veillez à ajouter confirmable à la migration des utilisateurs.
create_table :users do |t|
t.database_authenticatable
t.confirmable
...
end
Si vous utilisez devise 2.0+, cela échoue car devise ne fournit plus d'aides à la migration, et donc t.confirmable
soulève une erreur. Au lieu de cela, copiez le bloc intitulé "Confirmable" à partir de leur guide de migration .
3. Générez les vues de conception, avec l'une des commandes suivantes, afin de pouvoir remplacer les vues du mailer de conception :
rails generate devise:views # global
rails generate devise:views users # scoped
Vous pouvez désormais remplacer les vues du mailer dans la section devise/mailer/confirmation_instructions.html.erb
o users/mailer/confirmation_instructions.html.erb
en fonction de votre configuration
4. Pour développement ajouter les lignes de configuration suivantes dans /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. Pour production l'environnement en /config/environments/production.rb
vous pouvez utiliser quelque chose de similaire à ce qui suit (en supposant que vous ayez un serveur SMTP sur 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 Pour tester la configuration dans le développement, installez la gemme mailcatcher, que vous utiliserez comme serveur SMTP dans le développement, capturant tous les courriers entrants et les affichant sur la page http://localhost:1080/
:
gem install mailcatcher
Une fois installé, démarrez le serveur mailcatcher avec la commande :
mailcatcher
Un petit serveur SMTP fonctionnera sur le port 1025, capturant les courriels et les envoyant sur le port HTTP 1080.
Vous pouvez maintenant créer un compte et voir les confirmations.