缺少主机链接! 请为Rails 4提供:host参数

缺少主机链接! 请提供:host参数,设置default_url_options [:host],或将:only_path设置为true

我随机地随机获取此错误,通常重新启动服务器会将问题解决一段时间,然后再次显示。 我在开发和test.rb文件中添加了config.action_mailer.default_url_options = "localhost:3000"

另外,我在一个模块中使用了include Rails.application.routes.url_helpers来访问路由,我读到这可能是我收到这些错误的原因但删除它会让我无法访问路由。
该模块用于datatables gem。

对于Rails 5,使用:

 Rails.application.routes.default_url_options[:host] = "XXX" 

你应该用以下方式写

对于发展(development.rb)

 config.action_mailer.default_url_options = { :host => "localhost:3000" } 

在生产中(production.rb)

  config.action_mailer.default_url_options = { :host => "myproductionsite.com" } 

您已更新动作邮件程序的默认url选项。 URL助手将从action_controller设置中获取选项。

config.action_controller.default_url_options = .....

BR

我有类似的错误。 问题在于您的配置。

尝试重写您的development.rb和test.rb的配置,如下所示:

 config.action_mailer.default_url_options = { host: "localhost", port: 3000 } 

还要检查您的production.rb中的配置是否正确写入如下:

 config.action_mailer.default_url_options = { host: 'myherokuapp.herokuapp.com' }