Всякий раз, когда я сталкиваюсь с конечными точками (пример: приветствовать), выставленный движком рельсов, я получаю эту ошибку.
Ошибка:
"LoadError(Unable to autoload constant TestingController,
expected /local_path/app/controllers/testing_controller.rb to define it):
/Users/xxxxx/.rvm/gems/ruby-2.5.1/gems/activesupport-5.2.1/lib/active_support/
dependencies.rb:507:in `load_missing_constant'"
Двигатель:
У меня естьдвигатель с методом действия greet
, определенным ниже
# type: class
# path: app/controllers/testing_controller.rb
# file name: testing_controller.rb
module Parent
module Child
class TestingController < ApplicationController
def initialize
@name = 'BOB'
end
def greet
render json: {'hi': 'hi', 'name': @name}
end
end
end
end
маршруты, определенные как
# type: route
# path: app/config/routes.rb
# file name: routes.rb
Parent::Child::Engine.routes.draw do
get 'greet', to: 'testing#greet', as: :greet
end
Подробности:
Этот двигатель был установлен на драгоценный камень ABC
который затем используется в приложении rails Example
.Когда я впервые набираю маршрут greet
в приложении через http://localhost:3000/greet, я получаю LoadError
.
Однако, если я обновляю страницу, она отображает JSON, как и ожидалось.{"hi":"hi","name":"BOB"}
.
у нас есть development.rb
(app / config / env /), кэш и рабочая нагрузка которого определены, как указано ниже
config.cache_classes = false
config.eager_load = false
Ruby: 2.5.1
Rails: 5.2.1
Спасибо за вашу помощь, высоко ценится.