Rails + jQuery ajaxPrefilter

Posted

技术标签:

【中文标题】Rails + jQuery ajaxPrefilter【英文标题】: 【发布时间】:2012-05-04 13:51:46 【问题描述】:

我有一个 Rails 3.1 应用程序

在我的 gemfile 中:

gem 'jquery-rails', '>= 1.0.12'

在我的 assets/application.js 中,我有:

//= require jquery
//= require jquery_ujs
//= require_tree .

在我的 application.html 布局中,我已经包含了这些行

<%= javascript_include_tag "application" %>
<%= javascript_include_tag "jquery.min" %>

我正在使用 jQuery v1.6.2。

问题是,当我尝试访问任何页面时,控制台中不断出现这些错误:

Uncaught TypeError: Object function (selector,context)return new jQuery.prototype.init(selector,context); has no method 'ajaxPrefilter' (:3000/assets/jquery_ujs.js?body=1:290)

Uncaught TypeError: Cannot read property 'setOffset' of undefined (:3000/assets/jquery-ui-1.8.18.custom.min.js?body=1:37)

Uncaught TypeError: Object function (a,b)return new jQuery.prototype.init(a,b) has no method 'ajaxPrefilter'  (application.js:12)

什么是 ajaxPrefilter,如何修复这些错误?

我尝试通过在 application.js 之前加载 jquery.min.js 来重新排序 javascript,但运气不好,而且我不确定如何检查 js 文件本身中的这些错误。

【问题讨论】:

【参考方案1】:

试试这个:

<%= javascript_include_tag "application" %>
<%= javascript_include_tag "http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" %>
<%= javascript_include_tag "http://code.jquery.com/ui/1.8.19/jquery-ui.min.js" %>

【讨论】:

谢谢,我已经尝试了这些行,但我仍然得到相同的错误:jquery_ujs.js:290 - Uncaught TypeError: Object function (selector,context)return new jQuery.prototype.init( selector,context); has no method 'ajaxPrefilter' ui.geo_autocomplete.js:14 - Uncaught TypeError: Object function (a,b)return new e.fn.init(a,b,h) has no method '小部件' application.js:12 - 未捕获的类型错误:对象函数 (a,b)return new jQuery.prototype.init(a,b) 没有方法 'ajaxPrefilter'

以上是关于Rails + jQuery ajaxPrefilter的主要内容,如果未能解决你的问题,请参考以下文章

Rails 4可安装引擎,找不到文件'jquery'

为啥“jQuery-Rails”经常在资产组之外

从jquery调用rails函数?

在 Rails 3 中使用 jQuery 插件

jquery-datatables-rails。响应式扩展和移动视图

Rails 4:如何在 Rails 中使用 JQuery 禁用基于复选框值的文本字段