3

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

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

/api/v1/:account_id/:resource/:id

即:/api/v1/1/users/2

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

我该如何做到这一点?

4

1 回答 1

5

这消除了命名空间,因此您不需要附加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
于 2013-05-17T11:30:28.137 回答