Ломать приложение больших рельсов в более мелкие приложения?
Модулирование приложений Rails
Лучшая практика структурирования приложения "больших" Rails
У меня есть быстрый вопрос о модуляции в большом приложении Ruby on Rails.
Настройка:
Я создаю основное приложение, которое хранит информацию о людях. У меня также есть несколько "модулей", которые используют эту информацию по-разному. (например, можно было отобразить информацию о людях, другое могло бы определить связи и общие черты между ними и т.д.).
Вопрос:
Как эффективно модулировать это приложение?
Потенциальные ответы:
Поскольку модули совместно используют модели и представления с основным приложением (и eachother), мне представляется целесообразным объединить их в одно приложение. Однако, поскольку приложение растет, это, очевидно, приведет к проблемам. Это для меня предлагает либо Namespacing контроллеров и моделей "Как организовать контроллер в довольно крупном приложении Rails? или с помощью движков Модулирование Rails-приложений ".
Поскольку модули находятся в активной разработке, очень полезно использовать на них генераторы рельсов, что, по-видимому, делает использование движками боли в прикладе. Также кажется, что, хотя двигатели полностью поддерживаются с точки зрения Rails, они по-прежнему кажутся довольно хакерскими в отношении отсутствия поддержки генератора и миграции базы данных. У кого-нибудь есть опыт разработки двигателей? Похоже, что двигатели были бы отличным решением, если бы у вас было рабочее приложение и вы захотели перенести его в плагин (например, скопировать код вставки), но если вы активно его разрабатываете (меняя модели и т.д.), Это будет сложно.
Последнее, что я видел, это использование нескольких приложений и одной базы данных. Этот путь кажется королевской болью с миграцией и поддержанием моделей прямо и т.д. И т.д. Но я думал, что тоже буду думать об этом.