Ruby on Rails - NameError : 초기화되지 않은 상수 사용자 관리자 / 관리자 / 사용자
-
21-12-2019 - |
문제
관리자가 사용자 계정을 제어 / 수정하도록 admin에서 사용자 리소스를 추가했습니다.그러나 초기화되지 않은 일정한 사용자 컨트롤러 에 대한 오류가 발생합니다.사용자 계정은 고안을 통해 처리됩니다.현재 각 사용자를 나열하기 위해 색인 페이지를 만들고 싶습니다.다음은 관련이있는 부분입니다.
/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
.
나는 그 견해가 문제가되지 않는다는 것을 알고있다.로드하려는 페이지는이 오류를 표시합니다.
다른 모든 것 이외에는 잘 작동합니다.사용자 컨트롤러가 다르게 처리해야합니까?예를 들어 Devise Controller에서 상속해야합니까?
해결책
scope
는 컨트롤러를 네임 스페이스에 넣을 것으로 가정합니다 (그래서 Scope는 UsersController
및 No / Admin Directory가 아닌 범위가 있음).Admin::UsersController
네임 스페이스 / 디렉토리를 사용하려면 다음과 같이 경로를 정의해야합니다.
namespace :admin do
resources :users
end
.
옆으로, 당신은 당신의 노선이 Admin
를 가리키는 것을 볼 수 있습니다.rake routes
VS scope
로 실행 해보고 변경 사항을 변경하는 방법을 볼 수 있습니다.
제휴하지 않습니다 StackOverflow