У меня странная повторяющаяся ошибка: каждый раз, когда рабочий загружается, он терпит неудачу с первой попытки, а затем будет работать с этого момента. Каждый раз получаю одну и ту же ошибку.
NameError: uninitialized constant Models::ScorecardVirtualAttributes::LevelCalculator
Так что я провел обычные проверки: сначала я проверил, правильно ли написано. Затем я проверил, не зависит ли это от драгоценного камня, который каким-то образом не был включен, а это не так.
Я думаю, что воспроизвел сбой в консоли. При начальной загрузке консоли я запускаю это:
[1] toolkit » defined? Models::ScorecardVirtualAttributes::LevelCalculator
=> nil
[2] toolkit » defined? ::Models::ScorecardVirtualAttributes::LevelCalculator
=> nil
[3] toolkit » Models::ScorecardVirtualAttributes::LevelCalculator
=> Models::ScorecardVirtualAttributes::LevelCalculator < Object
[4] toolkit » defined? ::Models::ScorecardVirtualAttributes::LevelCalculator
=> "constant"
Как видите, когда я проверяю, определен ли он, сначала происходит сбой. Но затем, после прямого вызова, он возвращает ожидаемую «константу», когда я проверяю, определена ли она.
Я тогда подумал, что, возможно, он не загружается правильно. Вот что у меня есть в моем config/application.rb
:
# Within config/application.rb
...
config.autoload_paths += %W( #{Rails.root}/lib) #/models
У меня есть каталог lib/models
, добавленный к autoload_paths
, и модель, которая изначально не загружается, находится в lib/models/scorecards_virtual_attributes/level_calculator.rb
.
Возможно, есть что-то еще, что могло вызвать это? Или что-то не так с тем, что я делаю?