Rails中的递归路由

11

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

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

当用户浏览网站时,我希望它们在URL中看到嵌套结构-这对于搜索引擎和可能希望通过截取URL浏览网站的任何用户来说都更好。

我想要类似以下的东西:

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

现在显然我可以创建一个带有10个嵌套的嵌套映射,并希望没有任何网站超过该限制,但我很好奇是否还有其他方法...

1个回答

12
你可以将初始路由(/page)映射到控制器,并为所有尾参数设置“globbing”。
map.connect '/:page/*pages', :controller => 'pages', :action => 'show' 

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接