В целом гемы - более надежный и поддерживаемый способ добавления функциональности в ваше приложение. В Интернете есть целая инфраструктура, встроенная в Rails для работы с гемами, которых нет для плагинов.
Например, если вы используете драгоценный камень, вы получаете полный набор заданий Rake для работы с драгоценными камнями.
В корне вашего проекта запустите ...
$ rake -T gem
(in /Users/username/project/someproject)
rake gems # List the gems that this rails application depends on
rake gems:build # Build any native extensions for unpacked gems
rake gems:build:force # Force the build of all gems
rake gems:install # Installs all required gems.
rake gems:refresh_specs # Regenerate gem specifications in correct format.
rake gems:unpack # Unpacks all required gems into vendor/gems.
rake gems:unpack:dependencies # Unpacks all required gems and their dependencies into vendor/gems.
rake rails:freeze:gems # Lock this application to the current gems (by unpacking them into vendor/rails)
Вы также можете указать зависимости gem в вашем файле environment.rb
. Это дает вам возможность автоматически устанавливать их с ...
$ rake gems install
Еще одно преимущество гемов перед плагинами заключается в том, что на системном уровне у вас есть утилита gem
для поддержки гемов, которая упрощает работу.
если это как драгоценный камень ... когда я положу
приложение на клиентском сервере .. я не буду
должен снова получить этот плагин?
Вы можете «заморозить» драгоценные камни в своем приложении и развернуть их как часть приложения, не устанавливая их в систему. Если вы сделаете это, вам не придется снова получать гем или плагин, если вы не хотите обновить его до более новой версии.