Javascript包含两次,因为LESS CSS需要启用资产

时间:2012-07-02 09:00:30

标签: javascript ruby-on-rails assets pipeline

我正在使用Twitter Bootstrap LESS 需要启用资产管道。但是如果启用了资源,那么我的 CoffeeScript代码会在浏览器中包含两次 - 一次在application.js中,第二次在posts.js中。

我该如何解决这个问题?

两个文件都包含:

$('.slider').each(function() {
    val = $(this).attr('val')
    $(this).slider({
      orientation: 'horizontal',
      range: "min",
      max:100
    });

我在两个文件中都收到错误:未捕获的TypeError:对象[object object]在Chrome之后没有方法'slider'

$(this).slider({ 

但是,如果我现在转到posts.js并在那里发表评论,它会毫无错误地传递,而application.js中的twin函数将会正常工作。

1 个答案:

答案 0 :(得分:0)

管道似乎并不关心你的application.js

中是否有这一行
//= require_tree .

与另一行如:

*= require jquery.ui.slider

如果jquery.ui.slider.js位于“。”之下,它只包含两次,因为这就是你告诉它要做的事情。它并没有真正检查这个文件是否已经包含在内。