ルーティングに関する小さな質問:
私が欲しい
myapp.com/my_controller
->コントローラ Aにつながるmyapp.com/my_controller?uid=123
->コントローラ Bにつながる
routs ファイルを変更する方法についてのアイデア (レール 2.3)
ルーティングに関する小さな質問:
私が欲しい
myapp.com/my_controller
->コントローラ Aにつながるmyapp.com/my_controller?uid=123
->コントローラ Bにつながるrouts ファイルを変更する方法についてのアイデア (レール 2.3)
レール 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_url
URL を生成するには、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