65

即使我的 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

有谁能够帮我?

4

6 回答 6

120

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

或者

你可以gem "jquery-ui-rails"使用jquery-ui. 有关更多信息,请访问git 存储库

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

对于 5.0 及更高版本,它已更改。请点击链接

应用程序.js:

//= require jquery-ui

应用程序.css:

/*
 *= require jquery-ui
 */

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

应用程序.js:

//= require jquery.ui.all

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

应用程序.css:

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

希望这可以帮助你

于 2013-07-24T10:01:44.787 回答
38

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

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

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

看看这个提交

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

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

在您的 Gemfile 中,添加:

gem 'jquery-ui-rails'

并运行bundle install

  1. v2.3.0 < 你的版本 ≤ v4.2.1

    并将其放入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
    

    或使用特定模块阅读此

不要忘记重新启动服务器。

如果您正在使用 ≤ jquery-rails v2.3.0

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

于 2013-07-24T09:58:14.933 回答
9

铁轨 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

我不确定是否明确需要重新启动服务器,但它永远不会伤害任何东西。

于 2014-07-09T02:15:27.800 回答
4

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

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

于 2014-10-27T03:46:25.660 回答
1

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

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

要解决,首先删除 gem 然后运行,

bundle clean --force

接着

bundle install
于 2014-09-08T18:32:34.493 回答
0

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

于 2015-04-18T22:14:31.780 回答