Ruby on rails 从url中删除资源

Ruby on rails 从url中删除资源,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我有一些嵌套资源(名称空间、页面和注释),url如下所示: http://example.com/namespaces/objects/pages/super-page-太长了 从路由中删除资源名称的最佳方法是什么?我想得到类似的东西: http://example.com/objects/super-page/ 更新:名称空间控制器中只有show操作。您可以在资源上设置路径属性 resources :pages, :path => '' do 我发现这篇文章对定制我的url非常有帮助

我有一些嵌套资源(名称空间、页面和注释),url如下所示:
http://example.com/namespaces/objects/pages/super-page
-太长了

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


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

您可以在资源上设置路径属性

 resources :pages, :path => '' do
我发现这篇文章对定制我的url非常有帮助


还有一个很好的宝石,可以去除id并定制slug,友好的id,

您可以在路由中使用
浅层
参数 e、 g:

然后你可以使用这样的路线

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