2010-06-11 1 views
5

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

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

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

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

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

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

ответ

4

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

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

Удачи вам!

[EDIT: для рельсов3] Рельсы 3 двигатели очень чистые и мощные. Проверьте это gist Хосе Валым.

+0

Будет ли двигатель Rails 2 работать в приложении Rails 3? Является ли это по-прежнему одним и тем же процессом или он изменился с момента публикации этого вопроса? – deb

+0

Двигатель рельсов 2 по-прежнему работает в рельсах 3. Но двигатели с рельсами 3 имеют гораздо более приятную интеграцию, теперь многое возможно. Таким образом, вы все еще можете использовать рельсы 2, но действительно платите, чтобы преобразовать их в рельсы 3-х двигателей. Рельсы 2 - это плагин, плагин с рельсами 3, скорее всего, будет драгоценным камнем: намного чище :) – nathanvda

+0

@nathanvda: dead link –

1

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

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

3

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

также книга «Crafting Rails applications» от Rails Основной участник Jose Valim, имеет хорошую главу на нем. Int он показывает, как использовать его инструмент EngineX, который генерирует структуру движка Rails 3, поэтому вы можете легко создавать двигатели для своих проектов Rails 3. Его жемчужина devise также является рельсовым движком, который также хорош, потому что вы можете легко настроить его, скопировав шаблоны в каталог приложений и позволяя подклассифицировать контроллеры, которые вы хотите настроить больше.