Создание инфраструктуры расширения для приложения Rails - PullRequest
10 голосов
/ 03 апреля 2010

Я начинаю исследование того, что мне нужно для создания системы плагинов на уровне пользователя (например, плагинов Wordpress) для приложения Rails, поэтому я был бы признателен за некоторые общие советы / рекомендации. Под плагином пользовательского уровня я подразумеваю пакет, который пользователь может извлечь в папку, и он будет отображаться в интерфейсе администратора, что позволит ему добавить дополнительную конфигурацию и затем активировать ее.

Каков наилучший способ сделать это? Есть ли другой проект с открытым исходным кодом, который уже делает это? Что сам Rails уже предлагает для плагинов уровня программиста, которые можно использовать? Какие-нибудь плагины Rails, которые могли бы помочь мне с этим?

Плагин должен иметь возможность:

  • запустить собственную миграцию это ? Без документов)
  • есть доступ к моим моделям (плагины уже есть)
  • имеют точки входа для добавления контента в представления (можно сделать с помощью content_for и получить )
  • заменить целые представления или частичные (как?)
  • предоставляет свои собственные представления администратора и пользователя (как?)
  • создать свои собственные маршруты (или, может быть, просто объявить о своем присутствии и позволить me создать маршруты для него, чтобы плагины не наступали друг другу на ноги)

Что-нибудь еще мне не хватает?

Кроме того, есть ли способ ограничить доступ к таблицам / действиям плагина в отношении миграций и моделей, а также ограничить их доступ к маршрутам (возможно, разрешив им включать, но не удалять маршруты)?

P.S .: Я постараюсь держать это в курсе, собирая информацию, которую я выясняю, и соответствующие ответы, чтобы иметь своего рода руководство для других.

Ответы [ 2 ]

3 голосов
/ 08 мая 2015

Вы должны посмотреть на deface gem. Это позволяет настраивать виды рельсов, добавлять контент через хуки и заменять целые представления / частичные. Spree использует этот драгоценный камень, поэтому вы также можете посмотреть на spree . Помимо представлений, у них также есть другие решения для настройки приложения, чтобы вы могли найти больше ответов на ваши вопросы.

3 голосов
/ 03 апреля 2010

Возможно, вы захотите проверить mephisto , это программное обеспечение для ведения блогов, созданное с помощью ruby ​​on rails и поддерживающее дополнительный плагин. Не уверен, что это работает, как вы думаете, но может дать вам хорошие идеи. Источник можно найти на GitHub .

...