我使用rails 3.0.5,rspec2和最新的水豚。使用水豚时路径无法正常工作
路线设置,如:
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)
但无论是丑陋的,看起来像一个肮脏的黑客工作。那么,为什么我需要使用这种肮脏的黑客攻击以及我该做什么,这样我就可以像在视图中一样使用路径方法(因此不需要添加nil或显式传递:id =>的肮脏黑客攻击。 ..)? :)
你的问题的标题表明这是一个答案,而不是一个问题。阅读内容后,这种印象并没有太大变化。你在找什么? – polarblau 2011-03-22 21:16:29
我正在寻找一个答案,为什么我需要使用我展示的肮脏破解和我能做的事情,以便我可以像使用视图一样使用方法(所以不需要添加nil或显式传递的肮脏破解: id => ...)。 – gucki 2011-03-23 07:20:52
对不起,我刚刚看到标题错了。而不是“现在”它应该是“不”,我只是修复它;) – gucki 2011-03-23 07:23:44