如何判断jQueryUI是否在Rails 3.1中正确加载?

问题描述:

我一直在试图让我的Rails 3.1应用程序工作jQueryUI选项卡,但我总是最终得到。如何判断jQueryUI是否在Rails 3.1中正确加载?

我加载jQuery和jQueryUI的从jquery-rails宝石manualy在我application.js.coffee

#= require jquery 
#= require jquery-ui 
#= require jquery_ujs 
# more requires ... 

jQuery -> 
    // regular jQuery stuff 

我总是得到TypeError: Object [object Object] has no method 'tabs'仿佛jQueryUI的不正确加载。即使我尝试在控制台

fail in chrome console

我已检查jquery-rails宝石的内容,它的存在

$ head -n 2 ~/.rvm/gems/ruby-1.9.3-p0/gems/jquery-rails-1.0.18/vendor/assets/javascripts/jquery.js 
/*! 
* jQuery JavaScript Library v1.7 

$ head -n 2 ~/.rvm/gems/ruby-1.9.3-p0/gems/jquery-rails-1.0.18/vendor/assets/javascripts/jquery-ui.js 
/*! 
* jQuery UI 1.8.16 

为什么不jQueryUI的正确加载?我是否还需要在应用程序配置中设置某些内容才能使其加载jQueryUI?有什么方法可以检查它何时加载以及从哪里加载?

我检查jQueryUI的文件本身,它实际上确实包含的标签定义...证明:

$ grep tabs ~/.rvm/gems/ruby-1.9.3-p0/gems/jquery-rails-1.0.18/vendor/assets/javascripts/jquery-ui.js | wc -l 
     90 
+1

我想通过查看浏览器的调试器控制台(或萤火虫等)开始,看看浏览器实际上请求/加载jQueryUI的 – 2012-02-01 14:16:55

+0

@FrederickCheung我不认为这会有所帮助,因为它应该被编译到主的application.js文件,然后得到加载作为一个大文件 – 2012-02-01 14:35:31

+0

你说的肯定包含在jQueryUI的标签库-文件? – OptimusCrime 2012-02-01 14:45:16

中,如果它是正确加载检查方面,我建议插件yepnope.js。它允许你测试条件,并行加载脚本,覆盖错误处理,并且有方便的回调。

我有这个确切的问题(除非它是与排序,而不是标签) - 原来我有一个老的预编译的资产踢周围的人。拆除公共/资产清除错误(帽尖到“Rails 3.1 , jQuery UI does not load”)

在配置/环境/ development.rb(或你想要编辑的环境文件)

# Expands the lines which load the assets 
    config.assets.debug = true 

这将使渲染页面慢,但页面源将显示所有JavaScript和css被加载的来源,而不是显示一个大的压缩文件。你可以检查jquery-ui是否是其中之一。

此外,检查是否正在定义了两次的jquery。在这种情况下,$变量被重新定义和覆盖,并且apis可能在新的定义绑定中不可用。

我有这个问题有标签和打算香蕉。原来,我需要预编译我的资产:

RAILS_ENV=production bundle exec rake assets:precompile 

这个固定它给我。 (如上面的答案会工作所提到的,此外我认为消除公众/资产的文件夹的内容。)