如何生成具有2个级别的命名空间的控制器?

Bla*_*man 3 ruby ruby-on-rails-4

如何生成具有多级命名空间的控制器,如:

/api/v1/users
Run Code Online (Sandbox Code Playgroud)

这失败了:

rails g controller api/v1/users
Run Code Online (Sandbox Code Playgroud)

错误:

`namespace': wrong number of arguments (0 for 1..2) (ArgumentError)
Run Code Online (Sandbox Code Playgroud)

Dou*_*g R 8

rails g controller 'api/v1/users' 
Run Code Online (Sandbox Code Playgroud)

将在app/controllers/api/v1目录中生成类Api :: V1 :: UsersController <ApplicationController.

注意这会在Api :: V1 ::名称空间中创建控制器,这与这样定义的控制器不同:

module Api
  module V1
    class Users
Run Code Online (Sandbox Code Playgroud)

但是你可以随时在生成之后手动更改它.