2012-10-04 31 views
0

我有一个以前没有嵌套的资源,现在需要嵌套。因此,我对完全不感兴趣的命名它的url助手parent_child_path并且必须重构所有的资源路径引用。在Rails 3中更改嵌套的资源助手约定

有没有一种方法可以覆盖这个约定,而只是使用child_path作为约定而不是嵌套资源。

+0

你有任何问题的话,我想它的好处是显示其他人在项目中工作,该资源嵌套 –

+0

不,我不太喜欢它,但我主要不希望重构这样的东西。我不确定为什么从辅助程序中引用它会很重要。就我而言,所有重要的是被引用的资源名称。 –

回答

0
resources :parents, :shallow => true do 
    resources :children 
end 

将允许parent_child_pathchild_parent_path(浅)

如果你仍然想访问child_path只需将其添加非嵌套资源

resources :children 

resources :parents, :shallow => true do 
    resources :children 
end 
+0

我不认为这正是我想要的。我仍然需要/ parent /:id/child /:id的URI结构,但我不想仅仅因为嵌套它而改变我的所有URL辅助对象。 –

+0

'child_path'将会是'/ child /:id'如果你想为'/ child /:id'匹配'/ parent /:id/child /:id'你打算如何确定父项? (除非如果它是一个has_one关系时才按下该方法) –

+0

此类型名称只有一个资源。我只是想改变它的辅助方法的名称。没什么特别的,这里不需要确定任何东西。 –