3

我一直在到处寻找以解决这个问题。我已经在我的 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 .

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

4

3 回答 3

8

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

更新

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

于 2013-06-08T06:05:44.657 回答
4

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

  1. 放到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 吗?

于 2013-06-08T06:20:36.113 回答
0

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

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

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

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

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

于 2014-07-05T13:23:00.127 回答