Извлечение Rails-приложения в плагин или движок - PullRequest
5 голосов
/ 12 июня 2010

У меня есть приложение Rails 2.3, которое я хотел бы извлечь в плагин или движок. Приложение имеет аутентификацию пользователя и базовые возможности CMS, поддерживаемые плагином предков.

Я хочу извлечь логику для приложения в плагин / движок, чтобы я мог использовать этот код для будущих проектов, с другой «кожей» или «темой», если требуется.

Я не совсем уверен, что на самом деле понимаю разницу между концепциями плагинов и движков, так что это было бы хорошим первым пунктом.

Каков наилучший подход, есть ли хорошие отправные точки, ссылки, объяснения, примеры, которым я должен следовать. Кроме того, с выпуском R3, чтобы рассмотреть, есть ли что-то, что я должен знать для этого, в отношении плагинов и т. Д.

Я собираюсь начать с просмотра Райана http://railscasts.com/episodes/149-rails-engines но, очевидно, ему уже больше года, поэтому одна из проблем, с которыми я сталкиваюсь, - найти самую свежую и актуальную информацию по этому вопросу.

Все советы и помощь с благодарностью получены.

Ответы [ 3 ]

4 голосов
/ 13 июня 2010

На самом деле преобразование приложения довольно прямолинейно.Просто создайте папку плагинов, поместите в нее папку приложения, содержащую все ваши папки model-views-controllers, и все.

Хотя вам придется самостоятельно управлять миграциями.Также вам нужно определить rake-задачи для копирования файлов в вашу общую папку.Я думаю, что Railscasts все еще довольно современны, во всяком случае, теперь это легче в рельсах 2.3.

Удачи!

[РЕДАКТИРОВАТЬ: для rails3] Двигатели Rails 3 очень чистые и мощные.Проверьте это Суть Хосе Валим.

3 голосов
/ 14 июля 2011

Вам, вероятно, будет лучше сфокусировать свой движок на Rails 3, а не пытаться сделать его совместимым с Rails 2 и Rails 3 из-за обратных несовместимых изменений. Вот более актуальный учебник для Rails 3

также в книге " Создание приложений Rails ", написанной участником Rails Core Жозе Валимом, есть хорошая глава. В нем он показывает, как использовать его инструмент EngineX , который генерирует структуру движка Rails 3, чтобы вам было проще создавать движки для ваших проектов Rails 3. Его gem devise также является движком rails, что также неплохо, потому что вы можете легко настроить его, скопировав шаблоны в каталог приложения и позволяя вам создавать подклассы для контроллеров, которые вы хотите настроить больше.

1 голос
/ 12 июня 2010

Написание плагина - это совсем другой процесс, чем написание приложения, если у вас уже есть код приложения, его просто конвертировать в плагин.

Учтите, что если вы используете сторонние плагины в своем приложении, это может стать довольно грязным.

...