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

时间:2011-02-23 23:58:50

标签: ruby-on-rails gem

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

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

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

1 个答案:

答案 0 :(得分:0)

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