我正在构建一个JSON-only application,它基本上是一个更精简的Rails,中间件更少,模块更少。这是一个用Rails 4构建的应用程序。
我想开发一个简单的应用程序,可以管理主应用程序的数据库中的数据。为此,我想使用Active Admin或Rails Admin。但是这两个选项都以某种方式使用底层模型及其验证,要求等构建。
这意味着我需要至少共享主应用程序和RailsAdmin应用程序之间的模型。
我最好怎么做?是否有关于如何在主应用程序旁边的单独rails应用程序中构建管理应用程序的良好指南,而不是将其集成在一起?
作为旁注:将管理员与主应用程序保持在一个单独的应用程序中的另一个好理由,但是在共享数据库上,是无数的依赖项,像ActiveAdmin这样的宝石。
另请注意,我不仅仅对在不同的域或不同的服务器上运行管理员感兴趣,而且主要是为了让主应用程序保持精简和专注。并保持ActiveAdmin之类的依赖关系来自我的主应用程序。
脚注:
更实用:我不拥有Devise(它是JSON-API,因此经过令牌验证),不拥有任何视图或模板引擎。没有Formtastic,No Paperclip,Rmagic,Kminari(寻呼机)等等。当我拉入“只是一个管理员”时,所有这些都将被添加到我的应用程序中。
答案 0 :(得分:1)
您是否衡量了将ActiveAdmin等工具添加到其余API速度的影响?如果没有,这听起来像是一个过早优化的案例。
如果API速度确实受到加载但未使用的库的影响,那么您可以创建多个应用程序并在git子模块中共享模型。
答案 1 :(得分:1)
此博客文章介绍了一种有趣的方法:https://content.pivotal.io/blog/migrating-from-a-single-rails-app-to-a-suite-of-rails-engines
他们使用几乎空的应用程序作为容器,并将他们的实际应用程序安装为Rails引擎。