Rails中的递归路由

是否可以在Rails中创建递归路由?

我有一个应用程序,它允许管理员创建页面。 页面模型是嵌套集合,因此每个页面都有一个parent_id,因此页面以树形结构。 页面模型还使用Friendly ID插件为每个页面提供slug。

当用户浏览网站时,我希望他们在url中看到嵌套结构 – 它更适合搜索引擎以及任何可能想要通过切割url来浏览网站的用户。

我想要的东西是:

http://example.com/page/page/page/page …等

现在显然我可以用10个巢创建一个嵌套的地图,并希望没有网站超过这个限制,但我很好奇是否还有另一种方式……

您可以将初始路径(/页面)映射到控制器,为所有尾随参数设置“ globbing ”。

map.connect '/:page/*pages', :controller => 'pages', :action => 'show' 

params [:pages]现在将包含一个页面参数数组(匹配您在URL中指定的尾随参数)。