2012-07-10 58 views
1

我有一个应用程序,包括一个主要的轨道3.2应用程序,充当基地和管理部分。我也有一个孤立的引擎,处理未登录的部分网站。Rails隔离从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引擎吗?如spree_review。这是合理使用引擎吗?我还希望将代码作为依赖于容器应用程序(或“核心”引擎)的引擎分离出来, – rigyt 2013-05-27 16:40:44