Я начинаю исследование того, что мне нужно для создания системы плагинов на уровне пользователя (например, плагинов Wordpress) для приложения Rails, поэтому я был бы признателен за некоторые общие советы / рекомендации. Под плагином пользовательского уровня я подразумеваю пакет, который пользователь может извлечь в папку, и он будет отображаться в интерфейсе администратора, что позволит ему добавить дополнительную конфигурацию и затем активировать ее.
Каков наилучший способ сделать это? Есть ли другой проект с открытым исходным кодом, который уже делает это? Что сам Rails уже предлагает для плагинов уровня программиста, которые можно использовать? Какие-нибудь плагины Rails, которые могли бы помочь мне с этим?
Плагин должен иметь возможность:
- запустить собственную миграцию (с это ? Без документов)
- есть доступ к моим моделям (плагины уже есть)
- имеют точки входа для добавления контента в представления (можно сделать с помощью content_for и получить )
- заменить целые представления или частичные (как?)
- предоставляет свои собственные представления администратора и пользователя (как?)
- создать свои собственные маршруты (или, может быть, просто объявить о своем присутствии и позволить me создать маршруты для него, чтобы плагины не наступали друг другу на ноги)
Что-нибудь еще мне не хватает?
Кроме того, есть ли способ ограничить доступ к таблицам / действиям плагина в отношении миграций и моделей, а также ограничить их доступ к маршрутам (возможно, разрешив им включать, но не удалять маршруты)?
P.S .: Я постараюсь держать это в курсе, собирая информацию, которую я выясняю, и соответствующие ответы, чтобы иметь своего рода руководство для других.