Куда должны идти библиотеки в Rails 3? - PullRequest
5 голосов
/ 25 января 2011

Где рекомендуемое расположение для библиотек в Rails 3? Это так же просто, как 'lib'?

Я не уверен, потому что 'lib' больше похож на остаток Rails 2, особенно если учесть, что он больше не загружается автоматически (и об этом было много дискуссий, очевидно).

Инициализаторы больше для (очевидно) задач инициализации, таких как переопределения.

В частности, у меня есть небольшой модуль для обработки вложений (здесь не подходит Paperclip), он слишком большой и четкий, чтобы его можно было включить в мою модель, но он не является универсальным или достаточно стоящим для реализации в качестве драгоценного камня.

С функциональной точки зрения он живет где-то посередине среди модели, вида и контроллера. Это звучит как помощник, но в Rails помощники предназначены для представлений AFAIK.

Должен ли я просто поместить его в 'lib' и автоматически загрузить в application.rb? Или, может быть, я мог бы создать собственный конструктор форм для обработки презентации (или оба).

Я знаю, как заставить это работать, но я надеюсь узнать что-то новое. :)

1 Ответ

11 голосов
/ 25 января 2011

lib - все еще правильное место для подобных вещей.

Автозагрузка lib была удалена в Rails 3 из-за того, как работают движки, но в основном потому, что ее просто добавить в autoload_path, если вы хотите, чтобы она автоматически загружалась, а если нет, вы можете требовать по мере необходимости. lib все еще находится в пути загрузки, поэтому вам не нужно указывать , где требуемый модуль или класс.

Вы правы, помощники предназначены для представления, и в них не будет места, чтобы поместить какую-либо логику, связанную с моделью.

Я бы поместил модуль в lib, потребовал бы и включил его в вашу модель по мере необходимости.

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