2013-03-11 5 views
5

레일 및 컨트롤러 상속으로 작업하기.레일 - 수퍼 클래스가 일치하지 않습니다.

내가 /app/controllers/admin/admin_user_controller.rb

에 배치 admin_user_controller라는 자식 클래스 AdminController라는 컨트롤러를 만든 이는 내 routes.rb

namespace :admin do 
    resources :admin_user # Have the admin manage them here. 
    end 

응용 프로그램/컨트롤러/관리/admin_user_controller.rb

입니다
class AdminUserController < AdminController 
    def index 
    @users = User.all 
    end 
end 

app/controllers/admin_controller.rb

class AdminController < ApplicationController 

end 

관리자 권한으로 편집하려는 사용자 모델이 있습니다. 당신이 다른 상위 클래스로 2 회 같은 클래스를 정의하는 경우

superclass mismatch for class AdminUserController 

답변

6

@Intrepidd는 AdminUserController 클래스 ApplicationController에서 두 번 상속하지 않도록, 당신이 그렇게 간단한 해결 방법이 될 것이다, 모듈 내부 클래스를 래핑 수있는 말을 완료하려면 :

module Admin 
    class AdminUserController < AdminController 
    def index 
     @users = User.all 
    end 
    end 
end 
8

이 오류가 나타납니다 :이 오류가 발생 http://localhost:3000/admin/admin_user/

:

I가 연결을 시도

. 어쩌면 코드에서 class AdminUserController을 grepping하려고하면 두 번 정의하지 않을 것입니다. 레일스가 생성 한 파일과 충돌 할 가능성이 있습니다.

0

나는 그것을 고정 "Dashboard"컨트롤러와 "index"def를 생성합니다. 나는 그때 나의 노선을 편집했다 .rb 따라서 :

Rails.application.routes.draw do 



namespace :admin do 
    get '', to: 'dashboard#index', as: '/' 

    resources :posts 
end 



end 
관련 문제