2011-11-08 45 views
0

有人可以幫助我理解嵌套屬性中的參數好一點嗎?Rails控制器=> params []

我正在使用Apotomo。但是對於這個例子。我們可以假設它在ApplicationController中我有一個簡單的控制器顯示操作。

if params[:id].present? 
    @menu = Menu.find(params[:id]) 
else 
    @menu = Menu.first 
end 

它檢查是否在URL中指定菜單ID。如果不是,則顯示第一個菜單。

只要我只在/ menus/URL上,這個效果很好。

但我有嵌套的屬性。因此,一旦我們訪問URL /菜單/ 17 /類別/

它發現params [:id]作爲類別,而不是菜單。

一旦我嵌套,我可以調用:menu_id,它工作正常。但不再適用於父對象。

如何查找菜單對象的params [:id]而不管我在URL中的位置?

我是否完全錯過了一些東西?

這是我擊潰的配置,以及:

resources :menus, :only => [:show, :home] do 
    resources :categories, :only => [:index, :show] 
end 

感謝您的耐心。

回答

0

我會檢查路由是如何定義的。也許這是爲什麼這個鏈接是這樣翻譯的原因。

+0

不知道這將如何與這個問題有關。但我編輯添加我的路線配置,以防萬一。謝謝... – Adam