2010-02-28 77 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中指定)。