我在application.js
中导入自己的javascript
,如下所示:
//= require 'overlay'
然后我在我的application.html.erb
中包括这样的应用程序:
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
然后我发现在我的页面上我得到了
<script src="/assets/overlay-4f9aec59c40642be0f9be34f4dac3fdf.js?body=1" data-turbolinks-track="true"></script>
<script src="/assets/application-7eb3406005b56099419de90c3e6ea11b.js?body=1" data-turbolinks-track="true"></script>
在/assets/application-7eb3406005b56099419de90c3e6ea11b.js?body=1
中还包括overlay.js
,这意味着overlay.js
被包括在我的页面中两次。
比如我在overlay.js
:中写的
$('#ele').click(function() {console.log 'overlay.js';})
当我点击按钮时,我会得到两行overlay.js
,我该如何解决这个问题?
将js文件放在assets/javascript文件夹下做这个你不需要写这个//= require 'overlay'
而不是此写入您的application.js文件中的//= require_tree .
。希望它能起作用。