我从未收到过我应该确认自己帐户的电子邮件.我选择这样的选项出错了,还是没让Devise给我发电子邮件?
这是我过去的迁移:
class Devisecreateusers < ActiveRecord::Migration def self.up create_table(:users,:options => 'ENGINE=InnoDB DEFAULT CHARSET=utf8') do |t| t.database_authenticatable :null => false t.recoverable t.rememberable t.trackable t.confirmable t.encryptable t.column "first_name",:string t.column "last_name",:string t.column "organization_name",:string t.timestamps end add_index :users,:email,:unique => true end def self.down drop_table :users end end
解决方法
config.action_mailer.default_url_options = {:host => ‘localhost:3000’}
然后,检查服务器日志以查看邮件.你应该找到类似的东西:
Rendered devise/mailer/confirmation_instructions.html.erb (19.5ms)
Sent mail to example@mail.com (21951ms)
Date: Thu,26 May 2011 12:56:55 +0200
From: sender@mail.com
Reply-To: sender@mail.com
To: example@mail.com
Message-ID: <4dde31f7944bd_5ac277e0e4785c6@L-Portable.mail>
Subject: Confirmation instructions
Mime-Version: 1.0
Content-Type: text/html;
charset=UTF-8
Content-transfer-encoding: 7bit <p>Welcome example@mail.com!</p> <p>You can confirm your account through the link below:</p> <p><a href="http://localhost:3000/users/confirmation?confirmation_token=Hi0tyRQU8cCFpAbatYFf">Confirm my account</a></p>
您还需要将此行放在config / initializers / devise.rb中
config.mailer_sender = "sender@mail.com"
如果您的日志中确实没有此邮件,您仍然可以通过获取数据库中的confirmation_token值来验证您的帐户,然后转到此链接
http://localhost:3000/users/confirmation?confirmation_token= #PUT_YOUR_TOKEN_HERE
这应该可以解决问题.
干杯
原文地址:https://www.jb51.cc/ruby/269283.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。