我正在开发一个多服务器 Web 应用程序,我想知道 ruby/rails 中关于模块化的最佳实践是什么。
基本上,我正在寻找将我的 ActiveRecord 模型从 rails 应用程序共享到我的后台工作程序应用程序(2 个不同的 heroku 实例)的最佳方式。
1) 为 rails 应用程序和后台工作程序共享相同的代码。我们现在有一个可以做所有事情的大型应用程序。(优点:它解决了代码共享问题,缺点:它制作了一个臃肿的应用程序)
2)将 ActiveRecord 模型捆绑在一个 gem 中,并在两个应用程序中都需要它(优点:最好的模块化,缺点:启动开发并不容易)
3)在两个代码库中复制活动记录模型(缺点:代码重复,更新数据库时会导致错误)
现在,我来自.Net 背景。通常我会把我的模型放在一个 dll 中,这样可以解决共享代码的问题,但我不确定这里的“ruby 方式”是什么。
有没有地方我应该在 ruby 方式上寻找架构最佳实践?