ActionView :: Template :: Error (неинициализированная константа `LibObject`): - PullRequest
0 голосов
/ 04 июля 2018

Я добавил объект в папку lib. И он хорошо работает в первый раз, но если я изменяю контроллер или модель, то он говорит Uninitialized constant error ....

Это lib / lib_object.rb

class LibObject
    def object_description
    "object description"
  end
end

И это звонит от модели.

def object_description
  return LibObject.new.object_description
end

Я не уверен, почему я получаю uninitialized constant error после модификации для некоторого кода ... Поэтому мне нужно каждый раз перезагружать сервер (обновляет код). Спасибо.

1 Ответ

0 голосов
/ 04 июля 2018

Это можно добавить в config/application.rb для загрузки каталога lib/:

config.eager_load_paths << Rails.root.join('lib')

Перезагрузите локальный сервер после добавления этого.

Имейте в виду, что если вы используете autoload_paths :

Но в прошлом при использовании autoload_paths самостоятельно (pre-rails 5) разработчики могли настраивать autoload_paths для добавления в дополнительные местоположения (например, lib, который был списком путей автозагрузки много лет назад, но больше не является). Однако в настоящее время это не рекомендуется для большинства целей, поскольку это может привести к ошибкам, связанным только с производством.

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