缺少链接的主机!请提供:host参数或设置default_url_options[:host](ActionView::Template::Error)

18
我安装了 Devise 并按照建议在 development.rb 文件中添加了 config.action_mailer.default_url_options = { :host => 'localhost:3000' }。当我运行 Cucumber 时,出现了一个错误:

缺少链接的主机!请提供:host参数或设置default_url_options[:host](ActionView::Template::Error)

有人知道这与什么有关吗?在谷歌上找不到太多信息。

2个回答

27

黄瓜运行您的测试环境,因此您需要在 test.rb 中添加完全相同的行。


12

为了将来参考,假设在运行 Capybara、RSpec 等时出现“缺失主机”错误,并且与邮件发送程序无关,请检查您是否在测试中使用 URL 辅助方法,并且已经在 RSpec 配置的某个地方包含了:

config.include Rails.application.routes.url_helpers

那么,您还应将以下内容添加到同一配置文件中:

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

这是真的。理想情况下,不希望在同一环境中硬编码相同的主机和端口。为了实现DRY解决方案,请查看我在此处的答案:https://dev59.com/kWw05IYBdhLWcg3weBvu#48529627 - Joshua Pinter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接