以参数开头的命名空间中的Rails路由资源



我有2个命名空间,api和v1我有帐户和用户作为资源。

我想为我所有的资源映射如下的路由:

/api/v1/: account_id/:资源/:id

即:/api/v1/1/用户/2

在示例中,1代表帐户id, 2代表用户id。

我如何做到这一点?

这消除了名称空间,这样您就不需要将API::V1::附加到每个控制器,或者将视图文件埋在子目录中。下面使用普通的顶层控制器和视图:

scope '/api/v1/:id', :as => 'account' do
  resources :users
end

如果你想保留所有的命名空间结构的东西,这样做:

namespace 'api' do
  namespace 'v1' do
    scope '/:id', :as => 'account' do
      resources :users
    end
  end
end

最新更新