使用gem分享Rails应用程序之间的模型

Dav*_*vid 5 gem ruby-on-rails

所以我想在两个Rails应用程序之间共享模型,而不喜欢子模块解决方案(过去烧毁了我).我正在考虑使用宝石来解决这个问题并使其基本起作用:

  1. 使用珠宝商创建一个宝石(my_models)
  2. 使用Gemfile中的某些内容创建一个rails应用程序,如: gem 'my_models', :path => '../my_models'所以你可以避免不断包装gem等.
  3. 使用霰弹枪不断重新加载所有类(否则你无法在不重新启动服务器/控制台的情况下编辑my_models文件.

所以有几个问题:

  1. 霰弹枪很慢,Rails有没有更好的方法每次只重新载入一颗宝石?
  2. 如果我的my_models ActiveRecord模型有依赖关系,我将它们放在my_models gems中,这会导致我常规应用程序中的依赖性噩梦吗?
  3. 还有什么我想念为什么这可能是一个坏主意?

Mar*_*ota 0

如果您使用支持子模块的 VCS(如 Git),您可以将模型放入不同的存储库中,并将其作为 Rails 应用程序的子模块。这会给你一个几乎毫不费力的代码共享——Rails 甚至不知道你在作弊。