Неинициализированная константа Admin (NameError) - PullRequest
0 голосов
/ 27 апреля 2019

У меня небольшая проблема с моим кодом, который я создаю controller/admin/moderators_controller.rb.

Я получил ошибку на компиляторе uninitialized constant Admin (NameError) в moderators_controller.rb.

В навигаторе я получил эту ошибку:

суперкласс должен быть классом (данный модуль) ошибка навигатора

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 Ответ

1 голос
/ 27 апреля 2019

Вы случайно заставили свой контроллер наследовать от ActionController (модуль) вместо ActionController::Base (класс). Вам нужно добавить ::Base до конца.

Если это Rails 5, то теперь общепринятым условием является наличие класса ApplicationController в вашей папке app/controllers, и все контроллеры наследуются от него (это просто класс, который наследует от ActionController::Base, но дает вам место для размещения общих методов).

Рельсы 5

class Admin::ModeratorsController < ApplicationController
  def index
  end
end

Рельсы 4 или ниже

class Admin::ModeratorsController < ActionController::Base
  def index
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...