路线取决于会话值?

时间:2013-06-20 00:58:35

标签: ruby-on-rails-3 routes

是否可以根据会话值路由请求?

我想将/test路由到test#withoutsession/testtest#withsession,具体取决于会话值。

1 个答案:

答案 0 :(得分: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