문제

관리자가 사용자 계정을 제어 / 수정하도록 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로 실행 해보고 변경 사항을 변경하는 방법을 볼 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top