命名空间控制器,而不必命名空间路由帮助程序



是否可以用categories_path代替admin_categories_path来引用app/controllers/admin/categories_controller.rb ?

我使用的是Rails 4.

# app/controllers/admin
class Admin::CategoriesController < Admin::BaseController
end
# visiting localhost:3000/admin/categories causes route not found error 'admin/categories'
scope module: "admin" do
  resources :categories
end
# visiting localhost:3000/admin/categories causes uninitialized constant CategoriesController
scope "/admin" do
  resources :categories
end

我相信你必须在资源

中引用控制器。
scope 'admin' do
  resources :categories, controller: 'admin/categories'
end

所以路线变成了

   categories   GET    /admin/categories(.:format)          admin/categories#index
                POST   /admin/categories(.:format)          admin/categories#create
   new_category GET    /admin/categories/new(.:format)      admin/categories#new
  edit_category GET    /admin/categories/:id/edit(.:format) admin/categories#edit
       category GET    /admin/categories/:id(.:format)      admin/categories#show
                PATCH  /admin/categories/:id(.:format)      admin/categories#update
                PUT    /admin/categories/:id(.:format)      admin/categories#update
                DELETE /admin/categories/:id(.:format)      admin/categories#destroy

最新更新