Есть несколько способов, чтобы расширить приложение Rails и/или начать одноразовый. Вы упоминали только одну из четырех. Остальные:
- Плагины
- Двигатели
- Gems
- Шаблоны
шаблоны, как правило, используется для запуска из приложения, но если они предназначены правильно, вы можете использовать их, чтобы расширить один. Например, многие шаблоны акций помогают настроить репозиторий кода, установить несколько плагинов/драгоценных камней и, возможно, немного закрепить макет, чтобы вам не пришлось. Конечно, вы обычно делаете большинство из них при первом запуске проекта. В нашей компании (3 разработчика) я создал шаблон, который настраивает наши dev и производственные среды, репозитории, отслеживание проектов. Вот мой любимый шаблон акций: http://github.com/lhoeg/app_lego/network (оригинальный не сделал много работы на нем в то время, и я считаю, что это лучшая вилка там сейчас)
Плагины и драгоценные камни более или менее становится синонимом и есть для людей больше не нужно создавать плагины, поскольку драгоценные камни - это более стандартный способ пакетной работы Ruby. Как правило, вы будете использовать плагины для добавления в приложение определенных бит функциональности. Это может варьироваться от добавления аутентификации пользователя, календаря, добавления местоположений и сопоставления в ваше приложение. Большинство подключаемых модулей, которые я использовал, расширяют ActiveRecord или часть базы данных приложения. Если плагин поставляется с представлениями, контроллерами или изменяет ваши таблицы базы данных, он обычно поставляется с генератором. Хорошим примером является генератор плагина Restful Authentication. Относительно хороший список http://agilewebdevelopment.com/
Двигатели являются королями модульности. Они обычно обеспечивают гораздо больше функциональности, чем плагины. В то время как плагины и драгоценные камни обычно расширяют Rails, Двигатели намерены расширить ВАШЕ приложение, добавив полный набор представлений, контроллеров и моделей. Таким образом, двигатели - это все Rails-приложения, упакованные в аккуратную маленькую коробку, которую вы можете просто плюнуть в свое приложение и мгновенно добавить кучу функциональности. Также есть каталог двигателей по адресу http://agilewebdevelopment.com/, но, как вы увидите, их очень мало.
Надеюсь, это поможет!
Berns
Спасибо Джефф .... Я совсем забыл об этом сайте. – btelles