2010-02-28 37 views
10

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

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

当用户浏览网站时,我希望他们看到网址中的嵌套结构 - 它更适合搜索引擎的用途,以及任何可能喜欢通过浏览网址浏览网站的用户。

我想沿着线的东西:

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

现在很明显,我可以创建一个嵌套的地图说,10个巢,希望没有站点超过了极限,但我好奇是否有另一种方式...

回答

11

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

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

PARAMS [:页面现在将包含页面参数数组(匹配尽可能多的尾随PARAMS如您在URL中指定)。