Зачем использовать / apps / libs вместо / libs в Rails? - PullRequest
0 голосов
/ 11 сентября 2018

В документации sidekiq есть эта цитата о предпочтении использовать /apps/libs вместо /libs в проектах Rails, связанных с ошибками автозагрузки:

Каталог lib / вызывает только боль. Переместите код в app / lib / и убедитесь, что код внутри соответствует соглашениям класса / имени файла.

Дополнительно есть также:

Не настраивайте дополнительные пути в autoload_paths или eager_load_paths. Это взломать; следовать конвенциям! Любой каталог в приложении / может содержать код Ruby, вам не нужно явно что-либо настраивать.

Мои вопросы:

Есть ли правда в этих утверждениях, что использование /apps/libs лучше, чем /libs?

Это полезно только для автозагрузки связанных с Rails объектов (таких как модели AR, контроллеры, задания и т. Д.)? Или это также поможет PORO?

Есть ли только определенный контекст, в котором эти комментарии имеют смысл?

1 Ответ

0 голосов
/ 12 сентября 2018

По моему опыту, использовать apps/libs намного проще.Вы можете буквально вставить что-то вроде Class MathFunction и использовать его в другом месте (например, контроллеры или модули) с помощью MathFunction.sqrRoot.

. Для добавления библиотеки в каталог /libs требуется конфигурация с autoload_paths, которая имеетбыло довольно раздражающим для меня, чтобы выяснить.Сам Мац рекомендует не использовать autoload, потому что он находится в процессе устаревания .

Короче говоря, да, это правда.Единственный раз, когда мне нужно было использовать каталог libs, - это создание пользовательских задач с граблями.В противном случае я придерживаюсь apps/libs.

...