Подтвердить что ты не робот

Rails 3: В чем разница между двигателем и самоцветом?

В чем разница между двумя и когда нужно использовать вместо другого?

4b9b3361

Ответ 1

An Engine в терминологии rails на самом деле является субапикацией веб-приложения. Например, что-то вроде блога, форума или простой проверки подлинности: это не полномасштабные приложения, а страницы/представления/контроллеры/модели, которые можно добавить в любое приложение rails.

В rails2 это будет сделано с помощью plugin. Теперь, поскольку rails3 двигатель может быть упакован в gem.

A gem - это рубиновая библиотека, которую можно найти на http://rubygems.org, и это стандартный (только) способ упаковки и распространять рубиновый код другим рубистам.

Итак, заключаем:

  • Gem: это общая библиотека, которую можно легко установить, с управлением версиями, иметь зависимости и т.д.
  • Механизм: это под-приложение приложения Rails, а поскольку Rails 3 распределены как драгоценный камень (что является удивительным!).

Итак, когда вы будете использовать один или другой:

  • создать драгоценный камень, если вы хотите разделить функциональность ruby ​​
  • создайте движок (и упакуйте его в драгоценный камень), если у вас есть части вашего приложения rails, которые можно использовать в более общем плане.

Надеюсь, что это поможет.