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

时间:2010-11-29 22:15:57

标签: ruby-on-rails activerecord ruby-on-rails-3 heroku activeresource

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

  • 应用
  • 开发
  • 分类

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

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

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

编辑:我正在考虑一些可能的解决方案:

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

1 个答案:

答案 0 :(得分:4)

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