0

ネストされた属性のパラメーターをもう少しよく理解するのを手伝ってもらえますか?

アポトモを使用しています。しかし、例のために。ApplicationController にあると想定できます

私は単純なコントローラーショーアクションを持っています。

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

URL でメニュー ID が指定されているかどうかを確認します。そうでない場合は、最初のメニューが表示されます。

これは、/menus/ URL のみを使用している限りはうまく機能します。

しかし、私はネストされた属性を持っています。URL /menus/17/categories/ にアクセスすると、

メニューではなく、カテゴリの params[:id] を検索します。

入れ子になったら、:menu_id を呼び出すことができ、問題なく動作します。ただし、親オブジェクトでは機能しなくなりました。

URL のどこにいるかに関係なく、メニュー オブジェクトの params[:id] を探すにはどうすればよいですか?

そして、私は何かを完全に見逃していますか?

これも私のルート設定です:

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

お待ち頂きまして、ありがとうございます。

4

1 に答える 1

0

ルーティングがどのように定義されているかを確認します。このリンクがこのように翻訳されているのには理由があるのか​​もしれません。

于 2011-11-08T23:35:55.863 に答える