@nluparev

Зачем нужны Engines/движки в Rails?

Зачем нужны движки? я об этом guides.rubyonrails.org/engines.html
какая от них польза? реакцией на решение какой проблемы они возникли?
  • Вопрос задан
  • 443 просмотра
Решения вопроса 2
blackst0ne
@blackst0ne
Фулстэк-разработчик
Gem - это упаковка для кода.
Аналогия: zip-архив, внутри которого могут лежать разные штуки.

Как правило, внутри gem запаковывают самостоятельный код. Его можно использовать как в своих собственных скриптах, так и в других фреймворках. Не обязательно только в рельсах.
Просто подключаем гем и пользуемся.

Rails engine - это тоже ruby-код. Но его главное отличие от остальных библиотек, запакованных в gem (которые в простонароде все называются гемами), заключается в том, что этот код не является самостоятельным. Его нельзя подключить в своём скрипте или в каком-то другом фреймворке. Он будет работать только в рельсах, потому что содержит в себе специфичный для рельс код без намёка на самостоятельность.

Рассматривайте engine как плагин или фича к рельсам, а не как отдельный продукт.
Ответ написан
Комментировать
DevMan
@DevMan
как уже заметил blackst0ne, гем - это просто способ упаковки/распространения кода.
если по простому: любой енжин (код, конкретно завязанный на рельсы) может быть гемом, но не каждый гем может быть енжином.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы