Rails路由 - 范围正则表达式或重定向

时间:2014-02-18 15:14:10

标签: ruby-on-rails ruby ruby-on-rails-3 routes

将项目与第三方项目集成时,会出现疯狂冲突。

我使用模型复数作为路径名称,例如:

http://my_app/users/search (plural)

他们正在使用

http://my_app/user/search (singular)

此模式用于分布在4个模型中的19条不同路线,因此我不想复制每条路线只是为了支持其他项目。

有没有办法在范围内使用正则表达式或重定向来避免代码重复?

目前我有:

...
scope 'users' do
  get 'search'
  scope 'id' do
    get ''
    get 'ping'
  end
end
...

我希望有类似的东西:

...
scope 'user(s)?' do
  get 'search'
  scope 'id' do
    get ''
    get 'ping'
  end
end

或者:

scope 'user', to: redirect('users')

1 个答案:

答案 0 :(得分:5)

scope ':pattern', constraints: { pattern: /user(s)?/ } do
  ...
end