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

Rau*_*eja 12 ruby routes ruby-on-rails ruby-on-rails-4

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

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

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

Dav*_*vid 28

对于Rails 5,使用:

Rails.application.routes.default_url_options[:host] = "XXX"
Run Code Online (Sandbox Code Playgroud)


Raj*_*Das 12

你应该用以下方式写

用于开发(development.rb)

config.action_mailer.default_url_options = { :host => "localhost:3000" }
Run Code Online (Sandbox Code Playgroud)

在生产中(production.rb)

 config.action_mailer.default_url_options = { :host => "myproductionsite.com" }
Run Code Online (Sandbox Code Playgroud)


小智 9

我有一个类似的错误。问题出在您的配置上。

尝试像这样重写 development.rb 和 test.rb 的配置:

config.action_mailer.default_url_options = { host: "localhost", port: 3000 }
Run Code Online (Sandbox Code Playgroud)

还要检查您在 production.rb 中的配置是否正确编写,如下所示:

config.action_mailer.default_url_options = { host: 'myherokuapp.herokuapp.com' }
Run Code Online (Sandbox Code Playgroud)


And*_*ndy 6

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

config.action_controller.default_url_options = .....

BR