在不同的Rails应用程序之间共享ActiveRecord模型和数据的最佳方式?

mar*_*ada 12 activerecord ruby-on-rails heroku activeresource ruby-on-rails-3

我有几个rails应用程序将使用相同的核心模型和数据集,例如:

  • 应用
  • 开发商
  • 分类

每个应用程序都建立在这个核心数据之上,并以不同的方式使用它.例如,我可能在另一个应用程序中有类似的东西:

  • 活动
  • 用户
  • 应用(共享)
  • 开发人员(共享)
  • 分类(共享)

在它们之间共享模型数据的最佳方式是什么?应用程序,开发人员和类别数据对于每个应用程序都是相同的,因此我不想在每个应用程序的数据库中复制数据.

编辑:我正在考虑几个可能的解决方案:

  • Rails引擎(可以解决不同应用程序中的重复模型问题,但不会解决共享数据问题)
  • 使用ActiveResource访问核心数据(解决共享数据,但不解决共享模型问题)

kar*_*kie 4

我正在使用共享数据库来解决heroku和EC2上的服务器之间的共享数据问题,该服务器执行一些我在heroku上无法执行的后台处理。就我而言,我使用的是相同的应用程序,但实际上我所做的只是在 EC2 上使用elasted_job,所以我只使用那里应用程序中的模型。如果我要在另一个应用程序中使用它们,我可能会经历创建一个 gem 以在它们之间使用的麻烦。