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