2010-03-18 2 views
4

Я пытаюсь использовать плагин acts_as_audited. Должен ли я устанавливать его как драгоценный камень (поместить его в environment.rb) или в плагин?в рельсах я должен установить как драгоценный камень или плагин

В чем преимущество одного над другим. Позже я планирую разместить это приложение на сервере клиентов для постоянного хостинга. так мне лучше иметь его как драгоценный камень? если это как драгоценный камень ... когда я ставлю приложение на сервер клиентов ... мне не придется снова получать этот плагин?

ответ

0

Как я понимаю, два ведут себя совершенно иначе:

  • плагин доступен только для приложения вы в Так что, если вы хотите, чтобы заморозить его в вашем приложении, и хочет упростить. поставьте, используйте плагин.
  • драгоценный камень установлен для всей рубиновой установки. Поэтому лучше поделиться драгоценным камнем между приложениями. Однако вы должны иметь в виду, что при доставке вам необходимо дополнительно установить драгоценный камень на клиентской машине.

Так что в вашем случае я бы предпочел использовать плагин, а не драгоценный камень.

+1

Драгоценные камни можно легко заморозить в «поставщик/драгоценные камни». –

1

В целом драгоценные камни являются более надежным и поддерживаемым способом добавления функциональности в ваше приложение. В Интернете есть целая инфраструктура и встроена в 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) 

Вы также можете указать зависимости гем в файле environment.rb. Это дает возможность автоматически устанавливать их ...

$ rake gems install 

Еще одно преимущество драгоценных камней над плагинами, что на системном уровне у вас есть gem утилита для сохранения драгоценных камней, так что делает вещи проще.

если это как драгоценный камень ... когда я поставил приложение на клиентах server..will я не должны получить этот плагин еще раз?

Вы можете «заморозить» драгоценные камни в своем приложении и развернуть их как часть приложения, не устанавливая их в системе. Если вы это сделаете, вам не придется снова приобретать драгоценный камень или плагин, если вы не захотите обновить его до более новой версии.

0

Возможно, вам будет легче отлаживать плагин против драгоценного камня. Также приятно, если в вашей среде IDE вам нужно найти код, который находится внутри вашего дерева приложений.

Мне очень приятно установить плагины для разработки и перехода на драгоценные камни после выпуска кода.

+1

С комплектатором стало довольно легко отладить драгоценный камень. Просто откройте его, набрав '$ bundle open gem_name' – fphilipe

Смежные вопросы