我想在子目录中组织我的控制器.这是一个例子:
routes.rb中:
resources :locations do
resources :users
end
Run Code Online (Sandbox Code Playgroud)
我想将我的控制器放在适当的子目录中:
app/controllers/locations/users_controller.rb
Run Code Online (Sandbox Code Playgroud)
并且网址是(标准):
/locations/1/users
/locations/1/users/new
/locations/1/users/10/edit
...
Run Code Online (Sandbox Code Playgroud)
如果我的路由中有一个命名空间,我可以将users_controller.rb更改为
class Locations::UsersController < LocationsController
end
Run Code Online (Sandbox Code Playgroud)
但它不适用于嵌套资源,而是出现以下错误:
Routing Error
uninitialized constant UsersController
Run Code Online (Sandbox Code Playgroud)
如果我添加:
resources :locations do
resources :users
end
match 'locations/:location_id/users' => "locations/users#index"
Run Code Online (Sandbox Code Playgroud)
但我必须为每个动作和嵌套资源添加一个路由......