【发布时间】:2017-11-08 04:46:18
【问题描述】:
当我创建一个新用户(使用 Devise gem)并尝试获取确认电子邮件时,我在本地主机上的 rails 应用程序出现了非常奇怪的错误:
ArgumentError in Registrations#create
Showing /Users/matthewvandenboogart/Sites/certlocal/app/views/devise/mailer/confirmation_instructions.html.erb where line #5 raised:
Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true
为了记录,其他电子邮件从本地主机发送正常。唯一似乎弹出此错误的电子邮件是初始确认电子邮件。最重要的是,当代码被推送到暂存(在 Heroku 上)时,我没有看到错误。
config/development.rb:
config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
任何人对可能发生的事情或在哪里寻找解决方案有见解?这是一个烦人的类型错误,我想解决它,所以有一天它不会在生产中发生。
【问题讨论】:
-
基本问题,设置默认主机后重启了吗?
-
尝试将您的 default_url_options 更改为 {host: 'localhost:3000'},它应该可以工作
-
这个问题是答案,你可以通过链接here查看它
-
@Md.FarhanMemon - 是的 - 尝试了重置(尽管问起来很公平)
-
@OthmaneElKesri - 尝试将端口移动到本地主机的一部分 - 同样的错误。
标签: ruby-on-rails devise