J'utilise Rails 4 & Ruby 1.9.3 pour mon application et fancybox2-Rails
gem, mais il y a un problème général avec le pipeline d'actifs. Si je lance rake task
pour la précompilation, alors tout va bien sauf pour les images dans vendor/assets/images
et ../gems/Ruby-1.9.3-p327/gems/fancybox2-Rails-0.2.1/vendor/assets/images
. Les images de ces deux dossiers ne sont pas précompilées et finalement j'ai un problème avec des liens morts vers des images inexistantes. Aucune suggestion?
Il semble que les images soient incluses par défaut uniquement à partir du dossier app/assets. La solution consiste donc à ajouter cette ligne à config/application.rb
config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif)
Il semble que Sporker ne puisse pas charger automatiquement les images du fournisseur/des actifs/des images.
2.2 Organisation des actifs Les actifs du pipeline peuvent être placés dans une application dans l'un des trois emplacements suivants: application/actifs, lib/actifs ou fournisseur/actifs.
app/assets est pour les actifs qui appartiennent à l'application, tels que les images personnalisées, les fichiers JavaScript ou les feuilles de style.
lib/assets est pour le code de vos propres bibliothèques qui ne correspond pas vraiment à la portée de l'application ou aux bibliothèques partagées entre les applications.
fournisseur/actifs est pour les actifs qui appartiennent à des entités externes, tels que le code pour les plugins JavaScript et les frameworks CSS
De la description vient de guides.rubyonrails.org , je ne pense pas qu'ils aient ignoré le vendeur/actifs/images sans intention.
J'ai donc ajouté la ligne suivante:
#config/application.rb
config.assets.paths << Rails.root.join("vendor", "assets", "images")
Et, j'ai résolu mon problème. J'espère que cela fonctionnera pour vous.
Pour mon Rails 4.2.x projet, je viens de déplacer les images du fournisseur vers vendor/assets/images
et l'a ajouté à application.rb
:
config.assets.precompile += %w(vendor/assets/images/*)
Fonctionne très bien sur le développement et la production.