【问题标题】:Rails 3.1: jQuery UI methods not defined in my codeRails 3.1:我的代码中未定义的 jQuery UI 方法
【发布时间】:2011-12-24 18:23:36
【问题描述】:

在我的 Rails 3.1 应用程序中使用 jQuery UI 时遇到了一些奇怪的问题。 我已经通过 Assets Pipeline 添加了 jQuery UI,所有代码执行都没有错误,但是当我尝试在我的代码中使用 UI 方法时,出现“无方法”错误。

UI 似乎扩展了另一个 jQuery 对象。

这是 application.js 文件的内容:

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

jquery_ui 目录位于 /vedor。

【问题讨论】:

  • UI 代码是什么样的?也许这不是资产问题...
  • 当我从 ujs 使用 jquery ui 时,它是简单的丑陋的 jQuery UI 1.8.16,但没有任何额外的小部件。但即使是 $.Widget 和 $.ui 对象也无法在我的代码中找到。
  • 即使我也面临同样的问题。我也尝试使用 javascript_tag 包含 jquery-ui。但它没有用。 jquery-ui.js 被加载到浏览器( Ref:firebug net tab ),但我得到 function not found 错误。我将整个 jquery-ui.js 代码粘贴到控制台中,然后执行 $("div").slider();它奏效了。然后我写了一个 alert("hi");在 application.js 中,这一行在加载到浏览器的 application.js 文件中不存在。我尝试了“rake assets:clean”然后“rake assets:precompile”然后重新启动了服务器。没有任何效果。 :( 解决方案请......

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


【解决方案1】:

jquery-rails gem 已经包含 jquery-ui。所以它只适用于:

//= require jquery
//= require jquery_ujs
//= require jquery-ui

【讨论】:

  • 您是否不小心在其他地方包含了另一个 jQuery 或 jQuery UI 实例?或者是创建命名空间冲突的其他库?
  • 没有。正如我在 Chromedeveloper 工具中看到的,所有下载到客户端的文件都是 jquery、jquery_ujs、jquery-ui 和谷歌地图库。
  • 好的,但是你在 jquery-ui 之前尝试过这个命令 - jquery_ujs 吗?据我记得,这很重要。如果你这样做,请忽略此评论:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-21
  • 2011-10-21
  • 2011-11-16
  • 2012-01-15
  • 1970-01-01
  • 1970-01-01
  • 2012-02-06
相关资源
最近更新 更多