我在管理员下添加了用户资源,以允许管理员控制/修改用户帐户。但我收到关于未初始化的常量UsersController 的错误。用户帐户由设计处理。目前我只想创建索引页面以列出每个用户。以下是相关的部分:
/app/controllers/admin/users_controller.rb
class Admin::UsersController < ApplicationController
def index
@users = User.all
end
end
我确保在我的路线开头有我的devise_for:用户。
/conig/routes.rb
Rails.application.routes.draw do
devise_for :users
scope "/admin" do
resources :users
end
root :to => "visitors#index"
end
我知道这个观点不是问题。我正在尝试加载的页面显示此错误。
除此之外一切正常。我是否需要以不同方式处理UsersController?例如,我是否需要从Devise控制器继承?
答案 0 :(得分:3)
scope
假设您要将控制器放在命名空间中(因此,范围只有UsersController
而不是Admin::UsersController
,而且没有/ admin目录。如果要使用Admin
命名空间/目录,则需要像这样定义路由:
namespace :admin do
resources :users
end
另外,您可以使用rake routes
查看路线指向的内容。尝试使用scope
vs namespace
运行它,您将看到它如何改变。