は、私は非常に興味深いシナリオを持っています。ルートにおいて、それは次のように指定されている:Railsの3ネストされたルーティング
resources :companies do
resources :events
end
resources: events
はレーキルートを実行私は、生成されたルートを見ることができます:
events GET /events(.:format) events#index
company_events GET /companies/:company_id/events(.:format) events#index
両方のパスが同じコントローラ(グローバルな)にルーティングするように見えます.. 。 私はこのような何かを行くコントローラ/企業の下の2番目のコントローラがありません:それは関係なく、私がcompany_evens_patを使用するかどうか、上記そのコントローラ内のルート
class Companies::EventsController < ApplicationController
# stuff
end
を決してh(@ company)。常に他のものに行く。 それは前述したように、私はこのような何かをやって推薦する私は現在、[OK]を3.2
の内側にあなたの会社:: EventsControllerを置くために、あなたのコントローラのフォルダ内のフォルダを作成します別のコントローラは、それが乾いたままにしておくように思えますが、グローバルイベントコントローラのインデックスアクションにifparams [:company_id]を投げて、それらのイベントだけを表示する必要があります。 –
これは、あなたのルートに従って、期待どおりに動作しています。 EventsControllerとindexメソッドの両方にルーティングします。どのルートに従うかに基づいて異なる動作が必要な場合は、単一のコントローラから実行できます。 –