Моят Rails Engine зависи от моето родителско приложение


person Nikhil    schedule 24.04.2015    source източник


Отговори (1)


Според мен има два основни случая на използване на Rails двигатели:

1) Функция за повторно използване в множество приложения. Това е най-честият случай на употреба.

2) Осигурете път за миграция, за да разделите монолитно приложение на по-малки приложения (микро услуги). Можете например да започнете, като ги разделите в двигател в същото git хранилище и ги монтирате с помощта на gem 'xxx', path: 'engines/xxx'. След това по-късно разделете допълнително, за да отделите хранилища на кодове и/или хост като отделно приложение.

Като цяло не бих посъветвал не 2, освен ако приложението не е достатъчно голямо, за да разпредели различните двигатели към различни отбори. Недостатъци биха били неща като усложнения, когато имате зависимости между различни бази кодове на двигателя или db таблици. Предимствата са неща като по-малко тестове за изпълнение, по-малко код за поемане на собственост и т.н.

Може да намерите тези интересни:

https://github.com/EPI-USE-Labs/activesupport-decorators

http://pivotallabs.com/leave-your-migrations-in-your-rails-engines/

person Pierre Pretorius    schedule 12.06.2015