ruby-on-rails - Ruby On Rails 具有业务逻辑的路由

标签 ruby-on-rails ruby routes

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/

相关文章:

ruby - ruby 语法糖的加法

ruby-on-rails - 如何在 Rails 3 中验证非模型表单?

ruby-on-rails - 在 127.0.0.1:6379 上连接到 Redis 时出错 (Errno::ECONNREFUSED) - Wercker

ruby-on-rails - 在 Rails 控制台 session 中识别路线

asp.net-mvc - MVC 2 区域注册路由顺序

ruby-on-rails - Rails 控制台与 play 框架 2.4.x 等效?

ruby-on-rails - 在特定端口上运行Docker容器

javascript - 解析 Rails 中的 JSON 问题

ruby-on-rails - Ruby 2.1.0/2.1.1/2.1.2 不支持调试器 gem

reactjs - <Route> 是否应该包裹在 <Routes> 中?