0

在 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它加载就好了。IE:

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

我在这里想念什么?

4

2 回答 2

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 为何不起作用的更多信息,请阅读本文以了解更多信息。我唯一的想法是您的插件未命名jquery.hoverIntent或您的路径错误。

于 2013-04-15T19:23:13.080 回答
0

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

于 2013-04-15T20:04:14.877 回答