我有两个使用父控制器的嵌套资源。如何更改参数名称,以便取代params[:parent_id]
和params[:id]
我得到params[:parent_id]
和params[:child_id]
?否则,无法确定我正在处理哪个孩子。Rails 3多个嵌套的路由相同的控制器
现在我正在映射每个孩子的路线match 'child/:child_id' => 'parent#show'
但这几乎打破了DRY的所有规则,因为我有大约5条这样的路线(还有更多)。
这里是我的路线的一个例子:
resources :parent do
resources :child1, :controller => :parent
resources :child2, :controller => :parent
end
这里是我想做些什么
resources :parent do
resources :child1, :controller => :parent, :key => :child1_id
resources :child2, :controller => :parent, :key => :child2_id
end
更新
我只是要重做路线所以父母成为每个孩子的嵌套。之所以没有这样做,原因是前面的同事写了他们不知道他在做什么。
这个结果看起来类似:
resources :child1 do
resources :parent
end
resources :child2 do
resources :parent
end
请问您可以添加您的路线代码和一些控制器代码吗? – Ant 2011-04-01 13:20:21
是否有一个特定的原因,你想只使用parent_controller而不是有child1_controller等? – Ant 2011-04-01 14:44:33