1. Certifique-se de incluir confirmavel na chamada Model.devise
class User < ActiveRecord::Base
devise :database_authenticatable, :confirmable ...
end
2. Certifique-se de adicionar confirmado à migração do usuário
create_table :users do |t|
t.database_authenticatable
t.confirmable
...
end
Se você estiver usando o devise 2.0+, isso falhará, pois o devise não fornece mais ajudantes de migração e, portanto, t.confirmable
gera um erro. Em vez disso, copie o bloco rotulado "Confirmável" no guia de migração .
3. Gere as visualizações planejadas, com um dos seguintes comandos, para que você possa substituir as visualizações planejadas do mailer:
rails generate devise:views # global
rails generate devise:views users # scoped
Agora você pode substituir as visualizações da mala direta devise/mailer/confirmation_instructions.html.erb
ou users/mailer/confirmation_instructions.html.erb
dependendo da sua configuração
4. Para o ambiente de desenvolvimento , adicione as seguintes linhas de configuração em/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 o ambiente de produção , /config/environments/production.rb
você pode usar algo semelhante ao seguinte (supondo que você tenha um servidor SMTP no host local: 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 testar a configuração em desenvolvimento, instale o gem do mailcatcher, que você usará como servidor SMTP em desenvolvimento, capturando todos os emails recebidos e exibindo-os em http://localhost:1080/
:
gem install mailcatcher
Depois de instalado, inicie o servidor do mailcatcher com o comando:
mailcatcher
Um servidor SMTP de brinquedo estará executando na porta 1025, capturando e-mails e exibindo-os na porta HTTP 1080.
Agora você pode criar uma conta e ver as confirmações.
t.confirmable
gera um erro. Em vez disso, copie o bloco identificado como "confirmável" de seu guia de migração: github.com/plataformatec/devise/wiki/...Eu acredito que você deveria editá-lo mais uma vez ... port no. deve estar entre aspas. Assim: -
Eu enfrentei um problema no Rails 3.2.0 / ruby 1.9.2
fonte
"1025"
se estiver usando o mailcatcher.Você já viu o Guia do ActionMailer Rails ?
fonte