/de|fr|it|en/ do res-6ren">
gpt4 book ai didi

ruby-on-rails - 使用 capybara 时路径无法正常工作

转载 作者:行者123 更新时间:2023-12-04 03:54:32 24 4
gpt4 key购买 nike

我正在将Rails 3.0.5,rspec2与最新的capybara一起使用。

路由设置如下:

scope "(:locale)", :locale => /de|fr|it|en/ do
resources :dossiers
end

在application_controller中,我有这个:
def default_url_options(options={})
options[:locale] = "es"
options
end

所以我认为我可以使用
link_to 'test', dossier_path(1)

没有任何问题。

但是,当我在capybara的访问中执行相同的操作时,它会尝试将1用于语言环境,而不用于id。仅在我使用时有效
visit dossier_path(nil, 1)

或者
visit dossier_path(:id => 1)

但两者都很丑陋,看起来像是肮脏的骇客。那么为什么我需要使用这个肮脏的技巧以及我该怎么做,以便我可以像在 View 中一样使用path方法(这样就不必添加nil或显式传递:id =>了。 ..)? :)

最佳答案

我遇到了类似的问题。您可以在请求规范中的before块中设置default_url_options:

 before :each do
app.default_url_options = { :locale => :es }
end

关于ruby-on-rails - 使用 capybara 时路径无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5396866/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com