我Show
在 Rails 中有一个模型 (),可以通过子域而不是标准 REST URL 访问。在文件app/helpers/url_helper.rb
中,我有以下方法:
def show_url(show)
root_url(subdomain: show.subdomain)
end
在控制器中,这非常有效。我可以用它来测试它,它会按预期puts show_url(@show)
输出节目的: 。然而,在集成测试中,该方法不起作用,而是使用 rails 生成的默认方法。如果我跑到那里,我只会得到. 如何在集成测试中使用此自定义 URL 帮助程序?subdomain
http://test.example.com
puts show_url(@show)
http://example.com
编辑:
routes.rb
关于此子域内容的部分:
constraints(lambda do |request|
request.subdomain.present? && request.subdomain != 'www'
end) do
get '/' => 'shows#show', as: :show
get '/edit' => 'shows#edit', as: :edit_show
end