Comment charger le dossier de ressources du fournisseur dans Rails 4?

J’ai un plugin avec de nombreux types de fichiers et sa propre arborescence (html, css, js, documentation, images, etc.)

Plutôt que de parcourir le dossier du plug-in et de diviser tous les fichiers css et js dans les dossiers vendor/assets/js/ vendor/assets/css/ , je souhaite simplement conserver l’intégralité du dossier du plug-in. Par exemple,

vendor/assets/multipurpose_bookshelf_slider/

Comment puis-je m’assurer que les chemins d’access se chargent correctement et les référencer dans mes fichiers manifestes?

Actuellement, j’ai des fichiers comme suit (non exhaustif)

 /my_app/vendor/assets/multipurpose_bookshelf_slider/css/skin01.css /my_app/vendor/assets/multipurpose_bookshelf_slider/js/jquery.easing.1.3.js /my_app/vendor/assets/multipurpose_bookshelf_slider/ /my_app/vendor/assets/multipurpose_bookshelf_slider/ 

Je les référence dans

application.js

 //= require multipurpose_bookshelf_slider/js/jquery.easing.1.3.js //= require multipurpose_bookshelf_slider/js/jquery.bookshelfslider.min.js 

application.css.scss

 @import "css/bookshelf_slider"; @import "css/skin01"; 

Tout dossier créé directement sous les assets sera ajouté aux chemins de chargement. Les fichiers de ce dossier peuvent être référencés comme d’habitude comme ceci:

Si tu as

  • vendor/assets/custom/js/file.js

  • vendor/assets/custom/css/file.css

puis le vendor/assets/custom/ sera ajouté aux chemins de chargement.

Incluez vos fichiers dans les fichiers suivants en procédant comme suit:

application.js

//= require js/file

application.css.scss

@import "css/file";

Une fois cela fait, assurez-vous de redémarrer votre serveur local, car c’est au démarrage de votre serveur que les chemins de chargement sont reconnus.

Remarque: pour afficher une liste des chemins de chargement, tapez rails c dans vos rails c terminal, puis tapez Rails.application.config.assets.paths .

Si le pipeline de ressources que vous utilisez est activé, l’application devrait trouver vos ressources après avoir développé le chemin d’access dans votre application.rb

 config.assets.paths << Rails.root.join("multipurpose_bookshelf_slider") 

Je préfère la réponse de D7na mais avec un peu d’amélioration à mon avis.

Tant que cela concerne les actifs, je pense qu’il vaut mieux être placé dans le fichier assets.rb .

assets.rb :

 Rails.application.config.assets.paths << Rails.root.join("multipurpose_bookshelf_slider")