我正在构建一个仅限JSON的应用程序,它基本上是一个更精简的Rails,具有更少的中间件和模块。这是在Rails 4中构建的应用程序。
我想开发一个简单的应用程序来管理主应用程序中的数据库数据。为此,我想使用Active Admin或Rails Admin。但这两个选项都会使用底层模型及其验证、要求等来构建。
这意味着我至少需要在主应用程序和RailsAdmin应用程序之间共享模型。
我该如何最好地做到这一点?是否有一个很好的指南,介绍如何在与主应用程序分开的独立的Rails应用程序中构建管理应用程序,而不是将其集成?
另外提一下:将管理界面保留在与主应用程序分开的独立应用程序中,但使用共享数据库,还有一个很好的原因,那就是像ActiveAdmin这样的Gem会带来无数依赖项。
我想开发一个简单的应用程序来管理主应用程序中的数据库数据。为此,我想使用Active Admin或Rails Admin。但这两个选项都会使用底层模型及其验证、要求等来构建。
这意味着我至少需要在主应用程序和RailsAdmin应用程序之间共享模型。
我该如何最好地做到这一点?是否有一个很好的指南,介绍如何在与主应用程序分开的独立的Rails应用程序中构建管理应用程序,而不是将其集成?
另外提一下:将管理界面保留在与主应用程序分开的独立应用程序中,但使用共享数据库,还有一个很好的原因,那就是像ActiveAdmin这样的Gem会带来无数依赖项。
请注意,我不仅仅想在不同的域或不同的服务器上运行管理员,而是主要为了保持主要应用程序的简洁和聚焦。并且要避免像ActiveAdmin这样的依赖关系进入我的主要应用程序。
脚注:
- ActiveAdmin和RailsAdmin本身并不会影响性能,问题在于它们需要中间件,而仅使用JSON的Rail应用程序只需要非常少的模块、辅助函数和中间件! Rails-API提供了如此简洁的堆栈。性能不是关于是否使用管理工具,而是关于全功能Rails与Rails-API之间的差别。
- 性能不是我的主要问题,依赖和膨胀才是!我现在有一个Rails应用程序,它非常轻盈、专注和瘦身,可以与大多数Sinatra应用相媲美:)。只需三个额外的gems(每个gem自己都有一些依赖项)和一堆非常薄的中间件,我可以轻松地升级、管理和调试。
更实际的是:我没有使用Devise(这是一个JSON-API,因此使用令牌进行身份验证),没有任何视图或模板引擎。没有Formtastic,没有Paperclip,Rmagic,Kminari(分页器)等等。当我添加“管理员”时,所有这些都将被添加到我的应用程序中。