Rails中的递归路由

时间:2010-02-28 23:31:57

标签: ruby-on-rails ruby recursion routing

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

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

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

我想要的是:

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

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

1 个答案:

答案 0 :(得分:12)

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

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

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