Я использую рельсы 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)
без проблем.
Но когда я делаю то же самое во время посещения капибары, он пытается использовать 1 для локали, а не для идентификатора. Работает только когда я использую
visit dossier_path(nil, 1)
или
visit dossier_path(:id => 1)
Но оба безобразны и выглядят как грязный хакер. Итак, почему мне нужно использовать этот грязный хак и что я должен делать, чтобы я мог использовать методы пути, как в представлениях (так что без грязного хака с добавлением nil или явной передачей: id =>. ..)? :)