未初始化的常量Admin(NameError)

时间:2019-04-27 15:10:16

标签: ruby-on-rails

我编写的controller/admin/moderators_controller.rb代码几乎没有问题。

我在uninitialized constant Admin (NameError)中的编译器moderators_controller.rb上出错。

在导航器中出现此错误:

  

超类必须是一个类(给定模块)   navigator error

class Admin::ModeratorsController < ActionController
  def index
  end
end

这是我的routes.rb文件:

Rails.application.routes.draw do
  namespace :admin do
    resources :moderators, only: [:index]
  end
end

1 个答案:

答案 0 :(得分:1)

您不小心使控制器继承自ActionController::Base(一个模块)而不是::Base(一个类)。您需要在此末尾添加ApplicationController

如果这是Rails 5,现在的通用约定是在app/controllers文件夹中有一个ActionController::Base类,并使所有控制器都继承自该类(这只是从{{1 }},但为您提供了放置通用方法的地方。

路轨5

class Admin::ModeratorsController < ApplicationController
  def index
  end
end

排名4或以下

class Admin::ModeratorsController < ActionController::Base
  def index
  end
end