Non ci sono altri plugin dal Rails 4. Rails 4.0 release notes:
Rails :: Plugin è andato. Invece di aggiungere plug-in al fornitore/plug-in utilizzare gems o bundler con path o git dependencies.
Qualsiasi motore può essere contenuta in un gioiello. Gemma è solo un alias di una "biblioteca".
miglior modo per vedere cosa la loro differenza è, sta generando tre di loro e guardando attraverso la loro struttura di directory:
bundle gem a_gem
, utilizzare per le funzionalità specifiche non-rails-.
rails plugin new b_railtie
, utilizzare per le estensioni di rotaie che non richiedono la completa configurazione dell'applicazione. ma, poiché è ancora una configurazione specifica per i binari (si ottiene l'app fittizia Rails in /test
ad es.), probabilmente si utilizzerà railtie in esso.railtie è una classe che eredita da Rails::Railtie
e ti dà il comodo DSL per collegare il tuo codice a Rails. Ad esempio, se si desidera eseguire un'azione :before
durante l'inizializzazione dell'app Rails, è possibile utilizzare initializer
Railtie class_method. Paperclip
rails plugin new c_engine --full
, utilizzare per estensioni di guide che saranno l'applicazione a tutti gli effetti, montate nella vostra app. ti fornirà la sottoclasse /app
e la sottoclasse Engine
oltre alla configurazione di base non --full
.
rails plugin new c_engine --mountable
, come --full
, ma creerà spazi dei nomi, pronto per essere montato nel motore dell'app. Spree
E qui c'è un link piuttosto buono: http://hawkins.io/2012/03/defining_plugins_gems_railties_and_engines.