Ruby on Rails - NameError:sin inicializar constante UsersController en /admin/usuarios
-
21-12-2019 - |
Pregunta
He añadido los usuarios de los recursos bajo administración para permitir al administrador para controlar/modificar cuentas de usuario.Pero estoy recibiendo un error acerca de sin inicializar constante UsersController.Las cuentas de usuario son manejados por idear.Actualmente sólo quiero crear el índice página lista de cada usuario.Aquí están las partes que son relevantes:
/app/controllers/admin/users_controller.rb
class Admin::UsersController < ApplicationController
def index
@users = User.all
end
end
Me he asegurado de tener a mi devise_for :los usuarios en el inicio de mis rutas.
/conig/routes.rb
Rails.application.routes.draw do
devise_for :users
scope "/admin" do
resources :users
end
root :to => "visitors#index"
end
Sé que la vista no es el problema.La página que estoy tratando de cargar muestra este error.
Aparte de eso todo lo demás funciona bien.Necesito tener la UsersController manejado de manera diferente?Por ejemplo necesito para heredar de un dispositivo controlador?
Solución
scope
se supone que van a poner sus controladores en un espacio de nombres (así, con ámbito de aplicación, que acaba de ser UsersController
no Admin::UsersController
, y no /directorio de la administración).Si desea utilizar un Admin
espacio de nombres/directorio, deberá definir su ruta como esta:
namespace :admin do
resources :users
end
Como un aparte, puedes ver qué rutas están apuntando con rake routes
.Intente ejecutar con scope
vs namespace
y verás cómo cambia las cosas.