2013-06-20 32 views
2

根據會話值是否可以路由請求?路線取決於會話值?

我想路由/testtest#withoutsession/testtest#withsession,具體取決於會話值。

回答

1

您最好的選擇可能是將動態約束你的路線,像這樣:

get '/test', :to => 'test#withoutsession', :constraints => lambda{ |req| req.session[:user_id].blank? } 
get '/test', :to => 'test#withsession', :constraints => lambda{ |req| req.session[:user_id].present? } 

參考:http://edgeguides.rubyonrails.org/routing.html#advanced-constraints