2012-05-24 5 views
13

¿Por qué es que a menudo veo gem 'jquery-rails fuera del grupo :assets?¿Por qué 'jQuery-Rails' a menudo está fuera del grupo de activos

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

gem 'jquery-rails' 

¿Habrá un comportamiento defectuoso si lo pongo dentro?

Gracias!

+0

HIya, puedes averiguarlo aquí: http://guides.rubyonrails.org/asset_pipeline.html; por qué el grupo de activos está allí. Espero que esto ayude –

Respuesta

13

La gema jquery-rails proporciona algunos ayudantes de prueba también. Entonces, quizás por esa razón la gente prefiere ponerlo fuera del grupo :assets.

Sin embargo, el grupo :assets se incluye en el entorno de desarrollo y prueba, por lo que debe tener la seguridad de colocar jquery-rails en su grupo :assets si lo desea.

Simplemente asegúrese de precompilar sus activos antes de implementar su aplicación.

+2

- 1. Si alguna vez has usado 'jquery-rails' en el grupo': assets' sabrías que '' NO' es perfectamente seguro ponerlo en el grupo ': assets'. De vez en cuando, jquery-rails puede averiarse, y no precompilar ayudará. Ponerlo fuera de ': assets' haría el trabajo. – Aleks

+0

@ Alek, siempre que precompile sus activos en el entorno adecuado, debería estar bien. Precompilar en el entorno de producción, como se mencionó, no funcionaría. – thomasfedb

+0

@ Alek Tenga en cuenta que digo que el grupo de activos está incluido en el desarrollo y las pruebas, no digo ** ** que esté incluido en la producción. También dije que precompile los activos ** antes de la implementación **. – thomasfedb

4

La respuesta real para esto es que gem 'jquery-rails' a menudo puede dividirse en la producción, y no habría una forma estándar de arreglar este otro y luego inicializar la gema desde el principio. He visto estos problemas en heroku.

La solución para eso es poner jquery-rails fuera del grupo :assets, y de esa manera estarás seguro de que no se romperá.

Incluso la cuestión es vieja, quería asegurarse de que esa es la razón, y es probable que tenga que poner 'jquery-rails'FUERA:assets grupo.

Cuestiones relacionadas