我已经在谷歌上搜索了大约90分钟,但仍然没有答案.我在哪里设置default_url_options?我已经将其设置为config.action_mailer.default_url_options以解决其他地方的相同错误,但现在我在try 在RSpec规范中使用URL帮助程序时遇到了这个错误.我不知道它希望在哪里设置默认的URL选项.

 Failure/Error: listing_url(listing).should match(/\/\d+-\w+$/)
 RuntimeError:
   Missing host to link to! Please provide :host parameter or set default_url_options[:host]
 # ./spec/routing/listing_routing_spec.rb:9:in `block (3 levels) in <top (required)>'

这段代码与邮箱/ActionMailer无关,它只是碰巧需要一个URL而不是路径.

有什么 idea 吗?

推荐答案

Your::Application.routes.draw do
  default_url_options :host => "example.com"

  # ... snip ...
end

routes.rb%左右:)

Ruby-on-rails相关问答推荐

安装特定版本的Ruby时出现问题(OpenSSL问题)

我使用rbenv安装Ruby,但我在使用";gem";->;错误:执行gem时遇到此错误.(Errno::EACCES)权限被拒绝

Rails/Rspec中的测试文章创建

如何创建一个融合了另外两个记录的 FactoryBot 工厂?

Gem::Ext::BuildError:ERROR:无法在macOS Monterey上构建Gem本机扩展

Rails - 如何使用子对象的嵌套属性和强参数填充父对象ID?

如何使用 Vim 插入 ERB 标签?

Rails 模型.有效吗?刷新自定义错误并错误地返回 true

Rails 4.1 Mailer 预览和设计自定义邮箱

RSpec 设置会话对象

默认情况下,如何在 Rails 中使 cookie 安全(仅限 https)?

rspec 共享示例与共享上下文

在 Rails 中,如何处理多个选中的复选框,只需拆分 , 或?

什么是Ruby 用于 BESIDES 轨道?

通过 Ruby 或 Rails 的 LDAP

如何在同一个 Rails 控制器操作中处理多个 HTTP 方法

Rails,Docker:主机不存在:默认

从 Rails 控制器获取主机名

如何为 Rails 迁移定义布尔字段

Rails.cache 在测试之间被清除了吗?