我需要確定當前正在處理的應用程序的當前路徑中的路由段密鑰的數量,儘管在相關的Rails 3源文件中進行了一些挖掘,但我無法弄清楚。如何從Rails 3路線獲取細分鍵?
我知道如何使用url_for
和request
從當前路徑建立一個路徑,但我不知道如何真正得到映射到url_for
使用路由ActionController::Routing::Route
。如果我能得到我需要的路線的一個實例,我可以調用Route#segment_keys並獲得我需要的。
如果有人感興趣,我這樣做的原因是我可以在選擇下拉菜單之間切換資源,並保持適用於當前選定資源的當前視圖,但只有在當前路徑不可用時纔會執行,噸包含嵌套路徑(即切換到/resources/1/edit
但/resources/2/edit
做之間/resources/1/subresources/1
不切換到/resources/2/subresources/1
因爲subresource
數1不是resource
2孩子)。
你的模型結構是什麼? http://guides.rubyonrails.org/解釋了這一切。 – jvatic 2011-04-16 01:44:01
@jvatic模型與獲取給定路線的路段數量有什麼關係?這是指南中的哪個地方?我很樂意在那裏讀到它,但它甚至沒有在API文檔中討論過... – coreyward 2011-04-16 02:11:43
閱讀http://guides.rubyonrails.org/routing.html,你可以很容易地使用jQuery來切換,除非你的在JavaScript上回復不舒服可能是更好的解決方案之一,另一種選擇是使用嵌套路由並將參數傳遞給兩個模型控制器中的前過濾器。 – jvatic 2011-04-16 02:18:18