找不到’jquery-ui’Rails 3.2

我一直在寻找解决这个问题的方方面面。 我已经在我的gemfile中将jquery-rails gem降级为2.3.0。 但是当我在application.js中包含jquery-ui时,我仍然会收到Sprokets :: FileNotFound错误。

couldn't find file 'jquery-ui' (in /home/richard/projects/pickaxe/mini-projects/depot-app/app/assets/javascripts/application.js:14) 

这是我的application.js文件:

 // This is a manifest file that'll be compiled into application.js, which will include all the files // listed below. // // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path. // // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the // the compiled file. // // WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD // GO AFTER THE REQUIRES BELOW. // //= require jquery //= require jquery-ui //= require jquery_ujs //= require_tree . 

我很想知道为什么这不起作用……

如果您使用的是jquery-ui-rails gem ,则需要使用require jquery.ui.all而不是require jquery-ui 。 如果您不想使用gem,请确保您的app/assets/javascripts文件夹中有一个jquery-ui.js文件。

UPDATE

从5.0.0版开始,使用require jquery.ui

我尝试在我的应用程序上降级jquery-rails,这很好用。

  1. Gemfile gem 'jquery-rails', "~> 2.3.0"放到Gemfile
  2. 删除Gemfile.lock – > rm Gemfile.lock
  3. 运行bundle install
  4. //= require jquery-ui放到application.js
 Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2013-06-08 13:16:50 +0700 Compiled jquery-ui.js (27ms) (pid 7016) Compiled application.js (148ms) (pid 7016) Served asset /application.js - 200 OK (213ms) 

你可以发布你的Gemfile吗?

我有一个类似的问题。 这个问题与现有的gem无关,而是与它们的缓存版本有关。

以下步骤为我解决了这个问题:

  1. 指定受影响的gem的实际版本
  2. 通过运行rake assets:clean资产管道rake assets:clean
  3. 清理浏览器的缓存
  4. 再次启动服务器

这个过程对每个人都不一样,因为这里的问题与gem的缓存版本有关,正如我已经提到的那样。

至少它应该有助于找到解决方案。

Interesting Posts