2

这是场景:需要在多个 Rails 应用程序之间共享某个模型的小型闭源项目。基本上有一个数据库和多个应用程序以不同的方式读取/写入它,但都是通过同一个界面。我希望这个 DAL 的代码只在一个地方实现,并以某种方式与所有需要它的项目共享。

假设我使用 git 作为 VCS,使用最新的 Rails 版本执行此操作的最佳方法是什么?您经常阅读的三个竞争者是 gems(据我所知,如果您托管自己的 gem 服务器,它们只能供内部使用)、Rails 插件和 git 子模块。

鉴于所有三个选项,我无法找到一个概述,为什么一个人可能想要选择一个而不是另一个。我希望你们能帮助我!

谢谢!

4

2 回答 2

3

我建议您使用 gem,并将它们捆绑在您的应用程序中。我们正在使用几个私有 gem 并将它们保存在vendor/cache目录中。

插件已弃用,将被删除。(我相信 Rails 4.0 会删除它们)它们也会引起警告。

使用子模块是一个有趣的想法,但我仍然会坚持使用 gem。

于 2012-05-12T07:27:46.600 回答
2

如今,将一些通用代码封装到 gem 中是一种很好的做法。有一个Gemfury,自称是“私人宝石云服务器”,提供存储私人宝石的服务。

于 2012-05-12T08:17:28.010 回答