2013-04-09 76 views
0

我目前有三個級別的頁面,第一,第二和第三級。他們每個人都有一個參考e.g:動態創建路由 - 導軌

/firstlevel

/firstlevel/secondlevel

/firstlevel/secondlevel/thirdlevel

每一第三級頁只鏈接到一個二級頁面和每一個二級頁面只鏈接到一個第一級頁面。但是,目前,您可以輸入任何第一個第二和第三個參考,第三個等級頁仍然會顯示。我需要在某處進行驗證,以便只有一種方法可以進入第三級頁面;通過使用正確的第一和第二級參考。

這是我在我的路線文件:

match "/:reference" => "service#firstlevel" 
match "/:reference/:reference" => "service#secondlevel" 
match "/:reference/:reference/:reference" => "service#thirdlevel" 
+0

您的參考資料是否獨一無二?如果是的話,這是直截了當的。請添加更多詳細信息。 – tamizhgeek 2013-04-09 10:32:39

+0

我不確定我完全理解你..但每個頁面都有獨特的參考,是的。 – user1738017 2013-04-09 10:33:20

+0

然後在服務#thirdlevel動作檢查有效的第一和第二級別引用,並且僅當它們存在時顯示第三級別頁面。 – tamizhgeek 2013-04-09 11:37:52

回答

0

加入到這個我控制器對於每種方法:

if request.fullpath == ("/#{@s.firstlevel.reference}/#{@s.reference}") 

else 
    render :action => "error404" 

可能不是最好的辦法。

0

這會給你/公司/民族/工作

resource :companies do 
    resource :people do 
    resource :jobs 
    end 
end 

在你的路由