我知道这已经多次见过,但我不知道我做错了什么。我正在尝试通过rake任务发送邮件,我收到了此错误
缺少主机链接!请提供:host参数,设置default_url_options [:host],或将:only_path设置为true
在staging
环境中(托管在heroku上)。困扰我的是,当我启动控制台时,我可以毫无困难地发送邮件。在开发过程中,没有麻烦我直接通过rake任务发送邮件。
您可以在this gist中查看环境文件,邮件程序类和rake任务。我真的不明白我在这里做错了什么。
非常感谢你的时间!
答案 0 :(得分:0)
当我得到这个时,我必须将:host值放在production.rb的App :: Application.configure块中。
我不知道这是否会转换为heroku。
在production.rb中,在configure块中添加以下内容:
config.action_mailer.default_url_options = {
:host => "your-domain.com"
}
如果这需要变量(对于heroku),你可以在这里使用环境变量。
答案 1 :(得分:0)
作为解决方法,我在每个使用url_for
的方法中指定主机。幸运的是,这只是两个电话,但如果有人知道的话,我想知道答案。