Ruby On Rails 路由框架中是否有一种方法可以根据单个路由中的某些逻辑来决定调用哪个 Controller 或操作?
例如,假设有一个 url zip/354
,如果整数是偶数且 bar
,我想调用 foo
操作> 如果整数是奇数则采取行动。使用伪 ruby :
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
最佳答案
我不太确定路由方面的事情,但你可以让 Action 根据 :id 调用另一个 Action
def zip
id = params[:id].to_i
if(id%2 == 0)
foo
else
bar
end
end
但您可能已经想到了。
关于ruby-on-rails - Ruby On Rails 具有业务逻辑的路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1268576/