javascript包含在ruby on rails中并编译成application.js



我在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 .。希望它能起作用。

相关内容

最新更新