相关疑难解决方法(0)

在嵌套资源的子目录中对控制器进行分组

我想在子目录中组织我的控制器.这是一个例子:

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)

但我必须为每个动作和嵌套资源添加一个路由......

rails-routing ruby-on-rails-3

12
推荐指数
3
解决办法
1万
查看次数

标签 统计

rails-routing ×1

ruby-on-rails-3 ×1