Совместное использование моделей между приложениями Rails с использованием гемов - PullRequest
5 голосов
/ 24 февраля 2011

Так что я хотел бы поделиться моделями между двумя приложениями Rails и мне не нравится решение для субмодулей (сгорело в прошлом). Я подумываю об использовании драгоценных камней, чтобы решить эту проблему, и в принципе это работает:

  1. Создание драгоценного камня с помощью ювелира (my_models)
  2. Создайте приложение rails с чем-то в Gemfile, например: gem 'my_models', :path => '../my_models' так что вы можете избежать постоянной упаковки драгоценного камня и т. Д.
  3. Используйте дробовик, чтобы постоянно перезагружать все классы (иначе вы действительно не сможете редактировать файлы my_models без перезапуска сервера / консоли каждый раз.

Итак, несколько вопросов:

  1. Дробовик медленный, есть ли лучший способ в Rails каждый раз перезаряжать только один камень?
  2. Если в моих моделях my_models ActiveRecord есть зависимости, я помещаю их в гемы my_models, не вызовет ли это кошмары о зависимостях в моем обычном приложении?
  3. Что еще мне не хватает, почему это может быть плохой идеей?

1 Ответ

0 голосов
/ 24 февраля 2011

Если вы используете VCS с поддержкой подмодулей (например, Git), вы можете просто поместить модели в другой репозиторий и сделать его подмодулем ваших Rails-приложений. Это дало бы вам практически беспроблемный обмен кодом - Rails даже не знал бы, что вы обманываете.

...