JavaScript库在Rails中加载两次

当我将JavaScript库添加到Rails资产文件夹并使用以下命令在我的erb文件中配置: ,带有与JavaScript文件关联的类的HTML代码加载两次。

我在这附上了一个例子。 当我将JavaScript文件链接到公共文件夹时,不会发生此问题,而是JavaScript不会显示。

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

 
  • Portfolio
  • About Me
  • Contact
  • 没有相关的控制台错误。

    注意:没有Rails,这完全正常。

    如果它的标准rails项目开箱即用,并且javascript / coffee文件存在于lib / assets / javascripts或vendor / assets / javascripts中,那么它将自动通过application.js文件中的这一行被拉入rails资产管道:

    // = require_tree。

    如果它被application.js拉入,则不需要在erb文件中使用javascript_include_tag(我假设application.js是通过javascript_include_tag(’application’)通过某些布局文件呈现的,这就是为什么它渲染两次) 。

    如果js文件位于其中一个目录中,并且从erb文件中删除了javascript_include_tag ….它应该解决你的双重渲染问题。