Я создаю JSON-only application, это в основном более компактный Rails с меньшим количеством промежуточного программного обеспечения и меньшим количеством модулей. Это приложение, созданное в Rails 4.Как сохранить DRY с ActiveAdmin или RailsAdmin, отдельно от основного приложения
Я хочу разработать простое приложение, которое может администрировать данные в базе данных для основного приложения. Для этого я хотел бы использовать Active Admin или Rails Admin. Но оба варианта каким-то образом используют базовые модели и их валидации, требования и т. Д., Чтобы строить сверху.
Это означает, что мне нужно поделиться хотя бы моделями между основным приложением и приложением RailsAdmin.
Как бы я лучше всего это сделал? Есть ли хорошее руководство по созданию приложения администрирования в отдельном приложении с рельсами рядом с вашим основным, вместо того, чтобы интегрировать его?
В качестве побочного примечания: еще одна веская причина держать администратора в отдельном приложении из основного приложения, но в общей базе данных - это множество зависимостей, к которому относится драгоценный камень, такой как ActiveAdmin.
Также обратите внимание, что я не просто заинтересован в запуске администратора на другом домене или на другом сервере, но в основном для того, чтобы основное приложение было ориентировано и сосредоточено. И чтобы сохранить зависимости, с которыми что-то вроде ActiveAdmin приходит, из моего основного приложения.
сноски:
- Ни ActiveAdmin, ни RailsAdmin проблема для исполнения в себе. Это то, что им требуется промежуточное ПО, тогда как JSON-only Rail-приложение нуждается только в очень немногих модулях, помощниках и промежуточном программном обеспечении! Rails-API предлагает такой тонкий стек. Производительность не связана с администратором, а не с администратором, а с Full-Rails vs Rails-API.
- Производительность не моя главная проблема, зависимости и раздувание! У меня теперь есть приложение Rails, которое настолько тонкое, сфокусированное и тощее, что оно может измерять себя с помощью большинства приложений Sinatra :). Имея только три дополнительных драгоценных камня (каждый с несколькими зависимыми от них) и очень тонкий стек промежуточного ПО, я могу легко обновлять, управлять и отлаживать.
Более практичным: Я не имеют Завещание (Это JSON-API, так что маркер с проверкой подлинности), не есть мнение или шаблонный движок. Нет формы, нет скрепки, Rmagic, Kminari (пейджеры) и т. Д. И т. Д. Все это будет добавлено в мое приложение, когда я выйду «просто администратором».
Я бы изучил извлечение классов моделей в драгоценный камень, который может потребоваться в обоих приложениях. Боюсь, я не могу предложить конкретные советы, поскольку я никогда на самом деле этого не делал, но теоретически это должно сработать. Вам нужно будет предоставить общий доступ к базе данных.yml, или просто убедитесь, что он остается актуальным в обоих местах. –
Спасибо за подсказку. Это, действительно, звучит как очень хорошее решение для меня. – berkes