0

ルーティングに関する小さな質問:

私が欲しい

  • myapp.com/my_controller->コントローラ Aにつながる
  • myapp.com/my_controller?uid=123->コントローラ Bにつながる

routs ファイルを変更する方法についてのアイデア (レール 2.3)

4

1 に答える 1

2

レール 2.3.1:

map.route_a 'my_controller', :controller => "A", :action => "a"
map.route_b 'my_controller/uid/:uid', :controller => "B", :action => "b"

route_a_urlURL を生成するには、route_b_url(:uid => uid)ヘルパー メソッドを取得する必要があります。正確にはクエリパラメーターではありませんが、その使用uidと値の両方です。

レール 3.2.1:

match 'my_controller' => 'A#a', :as => 'route_a'
match 'my_controller/uid/:uid' => 'B#b', :as => 'route_b'

そして、ヘルパーが機能route_a_urlし、route_b_url(:uid=>10)すぐに利用できるようになりました。

説明:


ビューで、ヘルパー関数を使用して URL を生成します

ヘルパー関数: route_a_url()
生成された URL: http://localhost:3000/my_controller
マップ先: Controller A, Action a

ヘルパー関数: route_b_url(:uid => 10))
生成された URL: http://localhost:3000/my_controller/uid/10
マップ先: Controller B, Action b

于 2012-10-02T17:17:21.310 に答える