即使我的application.js文件中有jquery-ui,我也会收到以下错误
无法找到文件'jquery-ui' (在/home/jeff/work/projects/a/media/app/assets/javascripts/application.js:14)
的application.js
//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require jquery.validate.min
有人能帮助我吗?
答案 0 :(得分:118)
使用特定版本的gem "jquery-rails", "~> 2.3.0"
,因为更新版本的gem已删除了ui部分。
或
您可以gem "jquery-ui-rails"
使用jquery-ui
。有关详细信息,请访问git repository
要求所有jQuery UI模块,请将以下内容添加到application.js:
for 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
*/
希望这可以帮到你
答案 1 :(得分:37)
我认为您使用的是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 https://github.com/joliss/jquery-ui-rails中使用jquery UI。
在你的Gemfile中,添加:
gem 'jquery-ui-rails'
并运行bundle install
v2.3.0&lt;你的版本≤v4.2.1
并将其放入application.js
//= require jquery.ui.all
然后将其放入application.css
*= require jquery.ui.all
≥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"
答案 2 :(得分: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
我不确定是否明确要求重新启动您的服务器但它永远不会伤害任何东西。
答案 3 :(得分:4)
我知道这是一个noob错误,但我发现这非常令人沮丧,并且在安装新内容后总是忘记重启我的应用程序。
确保在按照上述说明操作后重新启动rails服务器,它应该可以正常工作。
答案 4 :(得分:1)
一种noob错误,但如果它对任何人都有帮助..
我在我的资产中添加了jQuery-ui.js然后添加了gem。然后从资产中删除了js,但我的IDE也从gem中删除了相同的文件。
要解决,首先删除gem,然后运行,
bundle clean --force
然后
bundle install
答案 5 :(得分:0)
这可能只是重新启动WEBrick或您可能正在使用的任何其他服务器,因此它会获取新资产。对于WEBrick,只需转到运行服务器的终端窗口,然后CTRL-C
终止进程,之后再使用rails s
重新启动它,或者启动服务器的任何命令。