Rails隔离了引擎与main_app的依赖关系

时间:2012-07-10 12:39:47

标签: ruby-on-rails-3 rails-engines

我有一个应用程序,它包含一个主要的rails 3.2应用程序,它充当基础和管理部分。我还有一个孤立的引擎来处理站点的未登录部分。

当然,引擎对主应用程序中的类有很多依赖性。这使得很难单独测试它。我在主应用程序和引擎之间看到了某种“桥梁”的例子,但我不记得在哪里。

我想我真正想问的是你如何处理这些依赖关系,你能否最小化它们,以及如何测试引擎?正如我所知道的,你从虚拟应用程序运行测试,但是由于我有很多依赖项,但是效果不好。

是否有关于最佳做法的良好资源?

1 个答案:

答案 0 :(得分:1)

  

因此,引擎很自然地依赖于类   主应用程序。

这不是Rails Engines背后的想法。引擎应该能够在大多数情况下自行运行。如果您正在构建的代码项目依赖于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。