我正在 build 一个 JSON-only application ,它基本上是一个更精简的 Rails,中间件和模块更少。这是一个在 Rails 4 中构建的应用程序。
我想开发一个简单的应用程序,可以管理主应用程序数据库中的数据。为此,我想使用 Active Admin或 Rails Admin .但是这两种选择都以某种方式使用了底层模型及其验证、要求等。
这意味着我至少需要在主应用程序和 RailsAdmin 应用程序之间共享模型。
我将如何最好地做到这一点?是否有关于如何在主应用程序旁边的单独 Rails 应用程序中构建管理应用程序的良好指南,而不是将其集成?
作为旁注:将管理员保留在与主应用程序不同的应用程序中但在共享数据库上的另一个很好的理由是无数的依赖关系,像 ActiveAdmin 这样的 gem。
另请注意,我不仅对在不同域或不同服务器上运行 admin 感兴趣,而且主要是为了保持主应用程序的精简和专注。并将 ActiveAdmin 之类的依赖项保留在我的主应用程序之外。
脚注:
更实用:我没有 Devise(它是 JSON-API,所以经过 token 认证),没有任何 View 或模板引擎。没有 Formtastic、没有回形针、Rmagic、Kminari(寻呼机)等等。当我拉入“只是一个管理员”时,所有这些都将添加到我的应用程序中。
最佳答案
这篇博文描述了一个有趣的方法:https://content.pivotal.io/blog/migrating-from-a-single-rails-app-to-a-suite-of-rails-engines
他们使用一个几乎空的应用程序作为容器,并将他们的实际应用程序安装为 Rails 引擎。
关于ruby-on-rails - 如何使用 ActiveAdmin 或 RailsAdmin 保持 DRY,与主应用程序分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18133645/