2012-08-23 177 views
1

我有一些嵌套的资源(名称空间,页面和注释),url看起来像这样: http://example.com/namespaces/objects/pages/super-page - 它太长了。从url中删除资源

从路由中删除资源名称的最佳方法是什么?我想得到类似的东西: http://example.com/objects/super-page/

更新:命名空间控制器中只有show操作。

回答

1

您可以在路由 如使用shallow参数:

resources :namespaces, :shallow => true do 
    resources :objects do 
    resources :pages 
    end 
end 

,然后你可以使用路由像

page_path(1) #=> '/pages/1' 
object_page_path(1,1) #=> '/object/1/pages/1' 
namespace_page_path(1, 1) #=> '/namespace/1/pages/1'