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

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

  • 应用
  • 开发商
  • 分类

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

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

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

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

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

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