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

Ruby on rails 命名空间中以参数开头的Rails路由资源,ruby-on-rails,Ruby On Rails,我有两个名称空间,api和v1 我将帐户和用户作为资源 我想为我的所有资源映射如下路由: /api/v1/:帐户id/:资源id/:id i、 e: /api/v1/1/users/2 在示例中,1代表帐户id,2代表用户id 如何实现这一点?这消除了名称空间,因此您不需要向每个控制器追加API::V1::,也不需要将视图文件隐藏在子目录中。以下内容使用普通的顶级控制器和视图: scope '/api/v1/:id', :as => 'account' do resources :us

我有两个名称空间,api和v1 我将帐户和用户作为资源

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

/api/v1/:帐户id/:资源id/:id

i、 e: /api/v1/1/users/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

欢迎来到堆栈溢出。你的问题有点模糊,很难理解你在问什么。我建议你修改你的问题,让它更容易理解什么?我认为这很直截了当。我甚至举了个例子。你不明白的是什么?我道歉,我接受纠正。格式的缺乏让我在发生了一些事情时仓促行事,但现在我得到了一个未初始化的常量UsersController。这个想法是为了目录结构:app-ws-v1-users\u controller.rb似乎不是这样工作的。有没有办法用名称空间代替范围?Noob问题,抱歉,刚开始使用rails,我被客户逼着这样做。不得不添加。。。至:“api/v1/users”答案已更新。还有,我要离开你的例子。您需要用实际拥有的资源替换
resources:users
。只是rails的新手,不是一般的编程:)还有一个问题,对不起,我得到了一个“模板缺失”,显然我没有任何模板,但我只想返回。json尝试响应:json,似乎没有效果,我遗漏了什么吗?