2

ルートという名前のレールにコントローラー値をパラメーターとして含めることは可能ですか?実行時にこれを渡して、呼び出しを適切なコントローラーに転送できますか?

例:map.ride'ride'、:controller => {some-way-of-specifying-a-parameter}、:action =>'ride'

次に、実行時に、この呼び出しの対象となるコントローラー名を渡します。私のアクションは、呼び出しが送信されるコントローラーに応じて異なることを行っています。ありがとう

4

2 に答える 2

2

トーマスの答えは正しいですが、URL 形式の柔軟性を高めたい場合は、複数のルートを指定し、それぞれを配置してルート要件を使用できます:requirements。ルートは、要件が満たされている場合にのみ一致します。例えば:

map.resources :rides, :path_prefix => '/:option', 
  :requirements => { :option => /one/ }, :controller => 'one'
map.resources :rides, :path_prefix => '/:option', 
  :requirements => { :option => /two/ }, :controller => 'two'

その後:

/one/ridesに行きますOneController

/two/ridesに行きますTwoController

于 2010-05-26T13:22:23.160 に答える
1

これはうまくいきます:

map.ride 'ride/:controller', :action => 'ride'

/ride/first呼ぶだろうFirstController#ride、そして/ride/second呼ぶだろうSecondController#ride

于 2010-05-26T12:58:44.380 に答える