область действия в маршрутах, не работающих с огурцом / капибарой, параметр области действия по умолчанию не работает в WEBrick - PullRequest
2 голосов
/ 09 января 2012

У меня есть этот маршрут для разделения пользователей разных агентств:

scope "/:agency" do
  resources :users
end

В ApplicationController я добавил это поведение к default_url_options:

def default_url_options(options={})
  { :agency => params[:agency] }
end 

Все выглядит нормально с сервером иparams [: agency] сообщает, что в URL.Но во время тестирования с Cucumber + Capybara

user_path(1)

становится

http://www.example.com/1/users

вместо

http://www.example.com/theagency/users/1

Читая немного документации, я попробовал это:

scope "/:agency", :defaults => { :agency => 'test-agency'} do
  resources :users
end

Тесты, похоже, работают (URL-адреса построены правильно), но на самом деле все URL-адреса создаются с параметром test-agency в качестве первого параметра, независимо от того, какой это параметр.

Любая идея иметьтесты работают с этой настройкой?

...