首页 > 解决方案 > Rails 路由器回退命名空间中未定义的资源

问题描述

我正在努力的是如何为命名空间中未定义的路由定义回退。

例子:

Rails.application.routes.draw do
 
 namespace :v1 do
   resources :foo
   resources :bar
 end

 namespace :v2 do
   resources: :foo
 end

end

现在,在对 /v2/bar 的请求中bar未定义的asv2应由 /v1/bar 处理。

标签: ruby-on-railsrubyroutes

解决方案


如果我理解正确的话,这应该可以解决问题。

Rails.application.routes.draw do

 namespace :v2 do
   resources :foo
 end

 scope '(/:api_version)', api_version: /v(1|2)/, module: :v1 do
   resources :foo
   resources :bar
 end
end

订单很重要。


推荐阅读