2017-03-20 100 views
0

我開始構建自己的管理部分時遇到問題。我得到試圖查看example.com/admin當這個錯誤:Rails:SuperClass不匹配

TypeError in Admin::AdminController#dashboard 

"superclass mismatch for class AdminController" 

我的管理員控制在app /控制器/管理/ admin_controller.rb

這裏是我的routes.rb:

Rails.application.routes.draw do 


namespace :admin do 
    root :to => "admin#dashboard" 
    resources :posts 
end 

這裏是我的AdminController:

class AdminController < ApplicationController 
    def dashboard 
    print "Dashboard" 
    end 
end 

我的計劃是有example.com/admin進入管理DA shboard。編輯/創建帖子:/ admin/posts。

回答

0

您已有Admin::AdminController類在別處定義。從其他類繼承ApplicationController

如果您還沒有自己創建第二個Admin::AdminController類,那麼很可能您的Gem或插件之一已經定義了它。 如果您正在使用active_adminrails_admin寶石,也許它確實有一流的上述名稱AdminController

你可以通過一些其他的名稱替換AdminController交叉檢查也許AdminController2

+0

我沒有管理員的寶石;我正在建立自己的。我嘗試將AdminController重命名爲AdminController2,並得到此錯誤:「類AdminController2的超類不匹配」。我的PostController.rb使用「類Admin :: PostsController