2012-05-24 9 views
13

Perché spesso vedo gem 'jquery-rails al di fuori del gruppo :assets?Perché 'jQuery-Rails' è spesso esterno al gruppo di risorse

group :assets do 
    gem 'sass-rails', " ~> 3.1.0" 
    gem 'coffee-rails', " ~> 3.1.0" 
    gem 'uglifier' 
end 

gem 'jquery-rails' 

Ci sarà un comportamento da buggy se lo metto dentro?

Grazie!

+0

HIya, lo puoi leggere qui: http://guides.rubyonrails.org/asset_pipeline.html; perché il gruppo di attività è lì. Spero che questo aiuti –

risposta

13

La gemma jquery-rails fornisce anche alcuni helper di test. Quindi forse per questo motivo la gente preferisce metterlo fuori dal gruppo :assets.

Tuttavia, il gruppo :assets è incluso nell'ambiente di sviluppo e di test, pertanto, se lo desideri, dovresti essere perfettamente sicuro di inserire jquery-rails nel gruppo :assets.

Assicurati di precompilare le risorse prima di distribuire l'applicazione.

+2

- 1. Se hai mai usato 'jquery-rails' nel gruppo': assets', sapresti che NON '' perfettamente sicuro da mettere nel gruppo ': assets'. Di tanto in tanto, i jquery-rails possono abbattere e nessuna pre-compilazione può essere d'aiuto. Mettendola fuori dal ': assets' farebbe il lavoro. – Aleks

+0

@Aleks fintanto che precompilate le risorse nell'ambiente giusto dovreste stare bene. Precompilare nell'ambiente di produzione, come detto, non funzionerebbe. – thomasfedb

+0

@Aleks Nota che io dico che il gruppo di risorse è incluso nello sviluppo e nel test, io ** non ** dico che è incluso nella produzione. Ho anche detto di precompilare le risorse ** prima ** della distribuzione. – thomasfedb

4

La vera risposta è che gem 'jquery-rails' può spesso interrompersi sulla produzione e non ci sarebbe alcun modo standard per aggiustare l'altro, inizializzando la gemma stessa dall'inizio. Ho visto questo problema su heroku.

La correzione per questo è di mettere jquery-rails al di fuori del gruppo :assets, e in questo modo si sarebbe sicuri che non si romperà.

Anche la questione è un vecchio, ho voluto fare in modo che questa è la ragione, e si sarebbe probabilmente bisogno di mettere 'jquery-rails'FUORI:assets gruppo.

Problemi correlati