我们的一些 Rails 路由需要区域设置来生成 url(例如domain.com/en/courses),而基本控制器(例如domain.com)不使用区域设置。default_url_options我们通过在右侧控制器中添加区域设置来设置它。
但是在 Rspec 中测试它时,我收到一个missing required keys错误,询问区域设置。当我在规范中添加区域设置参数时,visit course_path(@course, locale: :en)一切都恢复正常......但我们有很多规范!
我尝试使用default_url_option中的方法ActionView::TestCase::TestController,就像ActionDispatch::Routing::RouteSet这样
class ActionView::TestCase::TestController
def default_url_options(options = {})
{ locale: I18n.default_locale }
end
end
class ActionDispatch::Routing::RouteSet
def default_url_options(options = {})
{ locale: I18n.default_locale }
end
end
Run Code Online (Sandbox Code Playgroud)
但它设置了整个应用程序的区域设置,而不仅仅是一些特定的路线......
有没有办法在 rspec 支持中为某些路由设置默认参数?