Лучший способ обмена моделями и данными ActiveRecord между различными приложениями Rails? - PullRequest
12 голосов
/ 30 ноября 2010

У меня есть несколько приложений rails, которые будут использовать один и тот же базовый набор моделей и данных, например:

  • Apps
  • Разработчики
  • Категория

Каждое приложение основывается на этих основных данных и использует их по-разному. Например, у меня может быть что-то подобное в другом приложении:

  • активность
  • Пользователи
  • Приложения (общие)
  • Разработчики (общие)
  • Категории (общие)

Каков наилучший способ обмена данными моделей и между ними? Все данные о приложениях, разработчиках и категориях будут одинаковыми для всех приложений, поэтому мне не придется дублировать данные в базе данных каждого приложения.

РЕДАКТИРОВАТЬ: Я обдумываю пару возможных решений:

  • Rails engine (решит проблему с дублирующимися моделями в разных приложениях, но не проблему с общими данными)
  • Использование ActiveResource для доступа к основным данным (решает общие данные, но не проблема общей модели)

1 Ответ

4 голосов
/ 30 ноября 2010

Я использую общую базу данных для решения проблемы общих данных между heroku и сервером на EC2, который выполняет некоторую фоновую обработку, которую я не могу выполнить на heroku. В моем случае я использую то же приложение, но на самом деле все, что я делаю, это использую delayed_job на EC2, поэтому я использую только модели из приложения. Если бы я собирался использовать их в другом приложении, я бы, вероятно, столкнулся с проблемой создания драгоценного камня для использования между ними.

...