Лучший способ загрузить модуль / класс из папки lib в Rails 3? - PullRequest
270 голосов
/ 28 июля 2010

Поскольку последняя версия Rails 3 больше не является автозагрузкой модулей и классов из lib, что будет лучшим способом загрузить их?

Из GitHub:

A few changes were done in this commit:

Do not autoload code in *lib* for applications (now you need to explicitly 
require them). This makes an application behave closer to an engine 
(code in lib is still autoloaded for plugins);

Ответы [ 12 ]

1 голос
/ 20 апреля 2013

Существует несколько причин, по которым у вас могут возникнуть проблемы с загрузкой из lib - подробности см. Здесь - http://www.williambharding.com/blog/technology/rails-3-autoload-modules-and-classes-in-production/

  • исправление пути автозагрузки
  • потокобезопасность
  • именотносящиеся
  • ...
0 голосов
/ 19 октября 2017

Правильно пишите имя файла.

Серьезно. Я боролся с классом в течение часа, потому что класс был Governance :: ArchitectureBoard, а файл находился в lib / management / Architecture_baord.rb (транспонировал O и A в "board")

Кажется очевидным в ретроспективе, но это был дьявол, выслеживающий это. Если класс не определен в файле, в котором Rails ожидает, что он будет основан на обработке имени класса, он просто не найдет его.

...