Rails 3 Вложенные маршруты ресурсов наследуют родительские ограничения, как этого избежать? - PullRequest
6 голосов
/ 01 октября 2011

Если вы определяете ограничение на «id» в родительском ресурсе:

resources :foo, constraints: { :id => /CONST/ } do
  resources :bar
end

Вложенный ресурс наследует это ограничение для своего собственного идентификатора, поэтому сгенерированные маршруты будут выглядеть так:

/foo/:foo_id/bar/:id/edit(.:format)
{:id=>/CONST/, :foo_id=>/CONST/, :action=>"edit", :controller=>"bar"}

Итак, я не хочу, чтобы параметр "id" ресурса Bar был таким ограниченным.

В настоящее время я просто сопоставляю нужные маршруты вручную, один за другим, но я действительнохочу сгенерировать его помощником ресурсов.Как я могу это сделать?

1 Ответ

4 голосов
/ 03 октября 2011

Как насчет:

resources :foo, constraints: { :id => /CONST/ }
resources :foo, constraints: { :foo_id => /CONST/ } do
  resources :bar
end
...