2012-07-10 1 views
1

У меня есть приложение, состоящее из основного рельса 3.2 приложения, которое выступает в качестве базы и админ-части. У меня также есть изолированный движок, который обрабатывает незарегистрированные части сайта.Рельсы изолированные Двигатель с зависимостями от main_app

Естественно, двигатель имеет множество зависимостей от классов из основного приложения. Это затрудняет ее проверку изолированно. Я видел пример где-то своего рода «моста» между основным приложением и движком, но я не могу вспомнить, где.

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

Есть ли хорошие ресурсы по лучшим практикам?

ответ

1

Так что, естественно, у двигателей есть много зависимостей от классов от основного приложения .

Это не идея Rails-двигателей. Двигатель должен функционировать самостоятельно по большей части. Если проект кода, который вы строите, зависит от приложения Main Rails, вы строите расширение. Если это так, проверьте проект Spree. Это одно из основных приложений Rails с несколькими расширениями, которые зависят от приложения Spree.

https://github.com/spree

Если вы ищете примеры для истинных Rails двигателей, проверить это, https://github.com/westonplatter/questionnaire_engine
https://github.com/radar/forem/
https://github.com/plataformatec/devise/

Полное раскрытие, я помог код QuestionnaireEngine.

+0

Разве проект Spree не использует Rails Engine для каждого расширения? Например, spree_review. Это разумное использование двигателей? Я также хочу отделить код как движок, зависящий от приложения-контейнера (или от ядра) – rigyt