1. Assurez-vous d' inclure dans l' appel confirmable Model.devise
class User < ActiveRecord::Base
devise :database_authenticatable, :confirmable ...
end
2. Assurez-vous d'ajouter confirmable à la migration de l'utilisateur
create_table :users do |t|
t.database_authenticatable
t.confirmable
...
end
Si vous utilisez devise 2.0+, cela échoue parce que devise ne fournit plus d'aide à la migration et génère donc t.confirmable
une erreur. Au lieu de cela, copiez le bloc intitulé «Confirmable» de leur guide de migration .
3. Générez les vues de devise, avec l'une des commandes suivantes, afin de pouvoir remplacer les vues de mailer de devise:
rails generate devise:views # global
rails generate devise:views users # scoped
Vous pouvez désormais remplacer les vues de messagerie dans devise/mailer/confirmation_instructions.html.erb
ou en users/mailer/confirmation_instructions.html.erb
fonction de votre configuration
4. Pour l' environnement de développement , ajoutez 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 l' environnement de production dans, /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 en développement, installez la gemme mailcatcher, que vous utiliserez comme serveur SMTP en développement, en récupérant tous les mails entrants et en les affichant sur http://localhost:1080/
:
gem install mailcatcher
Une fois installé, démarrez le serveur mailcatcher avec la commande:
mailcatcher
Un serveur SMTP jouet fonctionnera sur le port 1025 pour récupérer les e-mails et les afficher sur le port HTTP 1080.
Vous pouvez maintenant créer un compte et voir les confirmations.