Rails资产管道和jquery插件。我错过了什么?

时间:2013-04-15 19:17:38

标签: jquery ruby-on-rails asset-pipeline

在Rails 3.2项目中,我有一个application.js文件,如下所示:

//= require jquery
//= require jquery.hoverIntent
//= require jquery_ujs
//= require my_custom_js

在我的布局中,我们只是引用<%= javascript_include_tag 'application' %>

my_custom_js.js中的代码实际上使用了来自jquery.hoverIntent.js的插件,但是当我加载页面时,我收到一个javascript错误,指出对象上没有可用的hoverIntent函数虽然我可以检查元素并查看对现有文件的健康引用。

这里的踢球者是,如果我移动application.js的两个引用 out ,它就会加载得很好。即:

<%= javascript_include_tag 'application' %>
<%= javascript_include_tag 'jquery.hoverIntent' %>
<%= javascript_include_tag 'my_custom_js' %>

我在这里缺少什么?

2 个答案:

答案 0 :(得分:0)

/layouts/application.html.erb中,在head部分添加这些代码段以加载jquery。

<%= javascript_include_tag "jquery" %>
<%= javascript_incldue_tag 'jquery.hoverIntent' %>
<%= javascript_incldue_tag 'my_custom_js' %>

这会在你的所有页面上加载jquery。

如果您需要有关application.js无效的更多信息,请阅读this以了解更多信息。我唯一的想法是,您的插件未命名为jquery.hoverIntent或您的路径错误。

答案 1 :(得分:0)

行。我想通了,我感到愚蠢。资产管道按预期工作,但我之前已经预编译了资产,它正在提供一个先前预编译的application.js,它正在重新加载jQuery,但没有插件。