2013-03-11 15 views
5

Raylar ve denetleyici devralma ile çalma.Raylar - üst sınıf uyumsuzluğu

Ben /app/controllers/admin/admin_user_controller.rb

yerleştirilen admin_user_controller adında bir çocuk sınıfı ile AdminController denilen bir denetleyici, oluşturduk Bu benim routes.rb

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

app/kontrolörleri/admin/admin_user_controller.rb

olduğunu
class AdminUserController < AdminController 
    def index 
    @users = User.all 
    end 
end 

uygulama/kontrol/admin_controller.rb

class AdminController < ApplicationController 

end 

Yönetici ayrıcalıklarıyla düzenlemek istediğim bir kullanıcı modelim var. Farklı bir süper sınıf ile iki kez aynı sınıf tanımlarsanız

superclass mismatch for class AdminUserController 

cevap

6

@Intrepidd AdminUserController sınıf ApplicationController iki kez miras kalmaması, bunu basit bir çözüm olurdu, bir modül içinde sınıfınızı sarın anda söylediklerini tamamlamak için:

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

Bu hata gösterir: Ben bu hatayı almaya http://localhost:3000/admin/admin_user/

:

Ben bağlanmayı deneyin

. Belki de kodunuza class AdminUserController'u vurmayı deneyin, böylece iki kez tanımlamadığınızdan emin olun. Şanslar Rails tarafından üretilen bir dosya ile bir çatışma var.

0

tamir ettim bir "Pano" denetleyicisi ve bir "dizin" def oluşturarak. Sonra benim route.rb düzenledim:

Rails.application.routes.draw do 



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

    resources :posts 
end 



end