我编写的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
答案 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