【问题标题】:Couldn't find file 'jquery-ui'找不到文件'jquery-ui'
【发布时间】:2013-07-23 17:03:24
【问题描述】:

即使我的 application.js 文件中有 jquery-ui,我也会收到以下错误

找不到文件'jquery-ui' (在/home/jeff/work/projects/a/media/app/assets/javascripts/application.js:14)

应用程序.js

//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require jquery.validate.min

谁能帮帮我?

【问题讨论】:

  • gem "jquery-rails" 安装了吗?
  • 是的。我已经在 Gemfile 中有 gem
  • 使用特定版本的 gem "jquery-rails", "2.3.0" 或者你可以为 jquery-ui 使用 gem "jquery-ui-rails",因为以后版本的 gem 已经删除了 ui 部分
  • 对我来说效果很好,gem 'jquery-rails', "~> 2.3.0" 请试试看。
  • @Mohanraj,@Debadatt- 你的想法很好用。谢谢

标签: javascript jquery ruby-on-rails


【解决方案1】:

使用特定版本的gem "jquery-rails", "~> 2.3.0",因为以后版本的gem已经删除了ui部分。

您可以将gem "jquery-ui-rails" 用于jquery-ui。欲了解更多信息,请访问git repository

要要求所有 jQuery UI 模块,请将以下内容添加到您的 application.js:

对于 5.0 版及更高版本已更改。请关注link

application.js:

//= require jquery-ui

application.css:

/*
 *= require jquery-ui
 */

对于低于 5.0 的版本,我们需要编写以下格式

application.js:

//= require jquery.ui.all

还将 jQuery UI CSS 添加到您的 application.css:

application.css:

/*
 *= require jquery.ui.all
 */

希望对你有帮助

【讨论】:

  • 如果我将 gem "jquery-ui-rails" 放入我的 Gemfile 中,则会出现错误,因为找不到文件 'jquery'
  • 我发现我必须重新启动应用程序才能添加 jquery-ui-rails。我采取的步骤: 1. 将 gem 'jquery-ui-rails' 添加到 Gemfile。 2.运行捆绑安装。 3. 添加了对 application.js 和 application.css 的要求 4. 重新启动了 rails 应用程序。现在对我来说工作得很好。
  • 这个答案在当前版本的 jquery-ui-rails 中不再准确——jquery.ui.all 已经不复存在了。
  • 哦!给所有用户。请注意这两个版本之间的 jquery.ui 和 jquery-ui 之间的减号和点号。我在这个愚蠢的小标志上浪费了很多时间。顺便说一句,感谢您的回复。
  • 我想将 jquery-rails 升级到 ~> 4.0.4,因为 Bundle Audit 告诉我 2.x 存在漏洞。安装jquery-ui-rails 对我有用。谢谢
【解决方案2】:

我认为您正在使用 jquery-rails 的新版本(您的版本 > 2.3.0)。

jQuery UI 已从 jquery-rails gem 中移除,

  • ≤ jquery-rails v2.3.0 仍然有 jQuery UI
  • ≥ jquery-rails v3.0.0 jQuery UI 已移除

看看this commit

如果您使用的是≥ jquery-rails v3.0.0 或最新版本的 jquery-rails

您应该使用jquery-ui-rails gem 在rails 中使用jquery UI,https://github.com/joliss/jquery-ui-rails

在您的 Gemfile 中,添加:

gem 'jquery-ui-rails'

然后运行bundle install

  1. v2.3.0

    并将其放入application.js

    //= require jquery.ui.all
    

    然后将其放入application.css

    *= require jquery.ui.all
    
  2. ≥jquery-ui-rails v5.0.0 或最新版本

    并将其放入application.js

    //= require jquery-ui
    

    然后将其放入application.css

    *= require jquery-ui
    

    或使用特定模块read this

别忘了重启你的服务器。

如果您使用的是≤ jquery-rails v2.3.0

在此处查看我的答案https://stackoverflow.com/a/16996710/1297435 以供使用gem 'jquery-rails', "~> 2.3.0"

【讨论】:

  • 您在此处所做的更改似乎比特定版本的 gemfile 更具前瞻性。感谢您的回答。
  • 我无法让它与 gem 'jquery-rails', "~> 2.3.0" 一起工作,所以最终删除了 jquery-rails 并且只使用 gem 'jquery-ui-rails' 在这种情况下,您还需要从应用程序中删除 //= require jquery //= require jquery_ujs。 js,否则你可能仍然会得到一个错误。这对我有用...
【解决方案3】:

铁轨 4 答案:

添加到 gemfile.rb:

gem 'jquery-ui-rails'

添加到 application.js:

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

添加特定模块:

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

我不确定是否明确要求重新启动您的服务器,但它绝不会伤害任何东西。

【讨论】:

  • 是的!重新启动服务器为我修复了它。
  • 请注意,当需要模块时,以前所说的 //= 需要 jquery-ui/draggable 现在是 //= 需要 jquery-ui/widgets/draggable 即。一个额外的“小部件”级别
【解决方案4】:

我知道这是一个菜鸟错误,但我发现这非常令人沮丧,并且在我安装了新的东西后总是忘记重新启动我的应用程序。

确保按照上述说明重新启动 Rails 服务器,它应该可以正常工作。

【讨论】:

  • 不敢相信那是我的错误。
【解决方案5】:

有点菜鸟的错误,但如果它可以帮助任何人..

我在我的资产中添加了 jQuery-ui.js,然后添加了 gem。然后从 assets 中删除了 js,但我的 IDE 也从 gem 中删除了相同的文件。

要解决,先移除gem再运行,

bundle clean --force

然后

bundle install

【讨论】:

    【解决方案6】:

    这可能只是重新启动 WEBrick 或您可能正在使用的任何其他服务器的问题,以便它获取新资产。对于 WEBrick,只需转到您的服务器正在运行的终端窗口并 CTRL-C 终止进程,然后使用 rails s 或任何启动服务器的命令再次重新启动它。

    【讨论】:

      猜你喜欢
      • 2013-03-30
      • 2013-06-07
      • 2013-03-30
      • 1970-01-01
      • 2013-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多