找不到’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,这很好用。
- 把
Gemfile
gem 'jquery-rails', "~> 2.3.0"
放到Gemfile
- 删除Gemfile.lock – >
rm Gemfile.lock
- 运行
bundle install
- 把
//= 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无关,而是与它们的缓存版本有关。
以下步骤为我解决了这个问题:
- 指定受影响的gem的实际版本
- 通过运行
rake assets:clean
资产管道rake assets:clean
- 清理浏览器的缓存
- 再次启动服务器
这个过程对每个人都不一样,因为这里的问题与gem的缓存版本有关,正如我已经提到的那样。
至少它应该有助于找到解决方案。