【问题标题】:Rails separate app or engineRails 分离应用程序或引擎
【发布时间】:2015-04-20 19:52:20
【问题描述】:

我有一个应用程序,我想为其构建一个管理系统,该系统将使用相同的数据库,甚至可能使用模型。我想将它与应用程序分开,但因为我想在两者之间使用共享模型,我正在争论是使用引擎还是构建单独的应用程序?

我更倾向于单独应用的一个原因是我可以单独部署它而不影响主应用。

有什么建议、意见或经验吗?

谢谢!

【问题讨论】:

  • 我一直使用引擎,但它对你真的有意义吗... :)

标签: ruby-on-rails rails-engines


【解决方案1】:

我肯定会推荐引擎。 Spree 电子商务是将单个应用程序分成代表核心、前端和后端的引擎的一个很好的例子。并且在支持上非常清晰方便。

https://github.com/spree/spree

【讨论】:

  • 是否可以独立于主应用程序部署引擎?我将把它放在一个单独的仓库中。我通常使用 capistrano 进行部署。
  • 你需要一些安装引擎的虚拟应用程序。
  • 感谢奥列格的回答。但为了确保我理解正确,您建议创建单独的虚拟应用程序,从我的主/容器应用程序安装引擎?
  • 这取决于您的架构。一个管理系统通常由一些核心模块和功能模块组成。核心可以是应用程序。
【解决方案2】:

我会将共享模型、迁移和代码放在一个引擎中,并在两个应用程序中使用它:管理应用程序和普通应用程序。您可能会发现这些很有用:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-21
    • 2015-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多