La bibliothèque JavaScript est chargée deux fois dans Rails

Lorsque j'ajoute la bibliothèque JavaScript au dossier d'actifs Rails et que je l'ai configuré dans mon fichier erb en utilisant: <%= javascript_include_tag('scripts.js') %> , le code HTML avec les classes associées à la charge du fichier JavaScript deux fois.

J'ai joint un exemple ici . Lorsque je lier les fichiers JavaScript au dossier public, ce problème ne se produit pas, mais le JavaScript ne s'affiche pas.

JavaScript

 $(function() { $("a.page-scroll").bind("click", function(a) { var b = $(this); $("html, body").stop().animate({ scrollTop: $(b.attr("href")).offset().top }, 1500, "easeInOutExpo"), a.preventDefault() }) }) 

Html.erb

 <li> <a class="page-scroll" href="#portfolio">Portfolio</a> </li> <li> <a class="page-scroll" href="#me">About Me</a> </li> <li> <a class="page-scroll" href="#contact">Contact</a> </li> 

Il n'y a aucune erreur de console pertinente.

Remarque: cela fonctionne parfaitement sans Rails.

Si c'est un rail standard projet hors de la boîte, et le fichier javascript / café vit à l'intérieur de lib / assets / javascripts ou vendeur / assets / javascripts, il sera automatiquement tiré dans le pipeline d'actifs rails via cette ligne dans le fichier application.js:

// = require_tree.

Il n'est pas nécessaire d'utiliser javascript_include_tag dans le fichier erb s'il est tiré par application.js (je suppose que application.js est rendu par un fichier de mise en page via javascript_include_tag ('application'), c'est pourquoi son rendu deux fois) .

Si le fichier js vit dans l'un de ces répertoires, et que vous supprimez votre javascript_include_tag du fichier erb … Cela devrait résoudre votre problème de double rendu.