无法找到文件'jquery.ui.all'的轨道上的红宝石

bra*_*rad 23 ruby-on-rails

找不到文件'jquery.ui.all'这是一个已知的问题,我在application.css中添加了*= require jquery.ui.all并且// = require jquery.ui.all到application.js但是仍然得到了错误. http://bpaste.net/show/1RqTDUte2XLBoj8fdTb​​f/

Sprockets :: FileNotFound in Preorder #index

显示/var/www/localhost/htdocs/selfstarter/app/views/layouts/application.html.erb,其中第6行引发:

找不到文件'jquery.ui.all'(在/var/www/localhost/htdocs/selfstarter/app/assets/stylesheets/application.css:14)

提取的来源(第6行):

3:   <head>
4:     <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
5:     <title><%= Settings.product_name %></title>
6:     <%= stylesheet_link_tag    "application" %>
7:     <%= javascript_include_tag "application" %>
8:   </head>
9:   <!--[if lt IE 9 ]><body class="lt-ie9"><![endif]-->
Run Code Online (Sandbox Code Playgroud)

http://bpaste.net/show/110613/

http://bpaste.net/show/110612/

Kar*_*hit 34

在过去的版本4中

//= require jquery.ui.all
Run Code Online (Sandbox Code Playgroud)

但是从5.0版开始:

application.js:

  //= require jquery-ui

application.css:

  /*
   *= require jquery-ui
  */
Run Code Online (Sandbox Code Playgroud)


Dom*_*mon 11

为了从jQuery UI中获取资源,您需要先安装它.

Gemfile,添加:

gem 'jquery-ui-rails'
Run Code Online (Sandbox Code Playgroud)

然后运行bundle install并重新启动rails服务器.

  • @Kevin是的,它必须放在资产组之外.顺便说一句,Rails 4中不再有`:assets`组. (4认同)

ill*_*ist 6

我遇到了同样的问题..

我的项目发生了什么,我的gemfile.lock更新,它被设置为使用所有宝石的最新版本..

如果jquery-ui-rails 4.2.1我们一直在使用4.2.1并且错误地gemfile.lock更新并使用了5.0.2.

jquery-ui-rails 5.0.2文件jquery.ui.all.js中没有更多可用.

所以我面临着这个错误 couldn't find file 'jquery.ui.all'

所以为了避免这样的错误,我更喜欢在gemfile中使用波形符号作为版本号
示例:

gem 'jquery-ui-rails', '~> 4.2.1'
Run Code Online (Sandbox Code Playgroud)

~>使捆绑器更新gem直到版本达到4.2.9并且如果版本达到则不会更新4.3.0

  • 您知道如果gem中发生了剧烈变化,那么版本号必须达到 4.3.0
  • 如果您知道已经进行了哪些更改并且您已准备好升级,请更新gem.


bra*_*rad -6

实际上,解决方案是克隆我的存储库的新副本并运行

bundle install --without production
bundle exec rake db:migrate
bundle exec rake db:seed
rails s
Run Code Online (Sandbox Code Playgroud)