Ruby on rails 为什么我在注册时收到Desive for email确认的运行时错误?
更新: 我已经重新启动了我的服务器和其他一些小修复,我没有得到错误。但是,我没有收到确认电子邮件。此外,我可以通过单击电子邮件验证登录 在尝试使用Desive的电子邮件确认/验证时, 当我通过Desive登录我的web应用程序时,我从我的服务器获得以下信息:Ruby on rails 为什么我在注册时收到Desive for email确认的运行时错误?,ruby-on-rails,ruby-on-rails-3,devise,email-validation,confirmation,Ruby On Rails,Ruby On Rails 3,Devise,Email Validation,Confirmation,更新: 我已经重新启动了我的服务器和其他一些小修复,我没有得到错误。但是,我没有收到确认电子邮件。此外,我可以通过单击电子邮件验证登录 在尝试使用Desive的电子邮件确认/验证时, 当我通过Desive登录我的web应用程序时,我从我的服务器获得以下信息: RuntimeError in Devise/registrations#create Missing host to link to! Please provide :host parameter or set default_
RuntimeError in Devise/registrations#create
Missing host to link to! Please provide :host parameter or set default_url_options[:host]
Extracted source (around line #5):
2:
3: <p>You can confirm your account through the link below:</p>
4:
5: <p><%= link_to 'Confirm my account', confirmation_url(@resource, :confirmation_token => @resource.confirmation_token) %></p>
这很奇怪,因为我在development.rb文件中包含了config.action\u mailer.default\u url\u options={:host=>'localhost:3000'},并且我处于开发模式
提前感谢 您需要在ActionMailer配置中写入域。。。 下面的代码应该在developmen.rb文件中。 将域设置为“localhost:3000”,重新启动服务器,然后立即注册
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => "587",
:domain => "localhost:3000",
:enable_starttls_auto => true,
:authentication => :login,
:user_name => "<working email>@gmail.com",
:password => "<password>"
}
如果您没有收到电子邮件,可能您在gem文件中没有提到gem“mail” 确保所有配置都正确..请参阅