неинициализированная константа ApplicationController (NameError) - PullRequest
1 голос
/ 12 февраля 2020

Я изменил свой путь к контроллеру следующим образом.

enter image description here

, и я точно указал путь к папке

class Admin::UserFoodController < Admin::ApplicationController

class Admin::UsersController < Admin::ApplicationController

class Admin::ApplicationController < ActionController::Base

но когда я перезагружаю единорога, я получаю ошибку

/home/ubuntu/hid/admin/shared/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.3/lib/active_support/inflector/methods.rb:283:in `const_get': uninitialized constant ApplicationController (NameError)
from /home/ubuntu/hid/admin/shared/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.3/lib/active_support/inflector/methods.rb:283:in `block in constantize'
from /home/ubuntu/hid/admin/shared/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.3/lib/active_support/inflector/methods.rb:281:in `each'

, поэтому я сделал фиктивный ApplicationController в папке контроллера, а не в папке администратора, ошибка исчезла.

Я не хочу делать фиктивную ApplicationController в папке контроллера. Я хочу сохранить эту структуру папок.

что мне делать? помоги мне, плз ...

Ответы [ 2 ]

0 голосов
/ 12 февраля 2020

внутри app / controllers / admin / user_food_controller.rb, вот пример, который вы можете использовать

require_dependency "admin/application_controller"

module UserFoodController
  class UserFoodController < ApplicationController
    ...
  end
end

, используя require_dependency, гарантирует, что классы загружаются и выгружаются правильным образом.

приведенные выше настройки «кажутся похожими» с настройками с использованием движка rails и здесь ссылка на случай, если вам нужно узнать больше

0 голосов
/ 12 февраля 2020

enter image description here

Я нашел. из-за разработки драгоценного камня. Мне пришлось изменить некоторый код в devise.rb (~ / 2.6.4 / gems / lib / devise / devise.rb)

before => "ApplicationController" after => "Admin :: ApplicationController"

спасибо всем

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...