http://devel.com/userA/controllerA/actionA
http://devel.com/userB/controllerA/actionA
http://devel.com/userA/controllerB/actionA
http://devel.com/userB/controllerB/actionA
のようなルーティング(パスの最初のセグメントが動的)をRails3.0で実現するには、
config/routes.rbに、次のような定義を書く。
config/routes.rb
scope "/(:username)" do get "controllerA/actionA" => "controllerA#actionA" get "controllerB/actionA" => "controllerB#actionB" end
この「scope」の定義により、
http://devel.com/userA/controllerA/actionA
がリクエストされた場合、コントローラ"controllerA"のアクション"actionA"が実行され、
その際に、params[:username]に"userA"が設定されている。
また、named_helperは、
controllerA_actionA_path(:username) controllerA_actionA_url(:username) controllerB_actionA_path(:username) controllerB_actionA_url(:username)が生成される。
0 件のコメント:
コメントを投稿