Rails 3嵌套资源路由继承父约束,如何避免它?

时间:2011-10-01 12:53:09

标签: ruby-on-rails ruby-on-rails-3 rest constraints nested-resources

您在父资源中定义了对“id”的约束:

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

嵌套资源将为其自己的id继承该约束,因此生成的路由将类似于:

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

所以,我不希望Bar资源的“id”参数受到限制。

目前,我只是逐个手动映射我想要的路由,但我真的想通过资源助手来生成它。我怎么能这样做?

1 个答案:

答案 0 :(得分:4)

怎么样:

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