Ruby On Rails路由框架中有没有一种方法根据单个路由中的某些逻辑来决定调用哪个控制器或动作?Ruby On Rails使用业务逻辑进行路由
例如,假设有一个网址zip/354
,如果整数是偶数,我想调用foo
动作,如果整数是奇数,我想调用bar
动作。要使用伪红宝石:
map.connect 'zip/:id', :requirements=>{:id=>/^\d+$/} do |id|
:controller=>'c', :action=>'foo' if id.to_i % 2 == 0
:controller=>'c', :action=>'bar' if id.to_i % 2 != 0
end