2017-03-20 67 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