【问题标题】:jquery-ui gem: File to import not found or unreadable: jquery-ui/autocompletejquery-ui gem:找不到或无法读取要导入的文件:jquery-ui/autocomplete
【发布时间】:2016-01-18 18:16:40
【问题描述】:

在开发过程中,我不知道如何使 jquery-ui gem 成为可用的甜蜜魔法。

我将 gem 包含在项目 Gemfile 中,输入 bundle install,更新 app/assets/stylesheets/application.scss 以具有以下行:

@import "jquery-ui/autocomplete";

最后app/assets/javascripts/application.js 有线路:

//= require jquery-ui/autocomplete

或多或少如https://github.com/joliss/jquery-ui-rails中所述

当我尝试在开发中加载页面时,rails 抱怨说

File to import not found or unreadable: jquery-ui/autocomplete.
Load paths:
  /home/dm/contra/app/assets/images
  /home/dm/contra/app/assets/javascripts
  /home/dm/contra/app/assets/stylesheets
  /home/dm/contra/vendor/assets/javascripts
  /home/dm/contra/vendor/assets/stylesheets
  /home/dm/.rvm/gems/ruby-2.2.1/gems/jquery-rails-4.0.5/vendor/assets/javascripts
  /home/dm/.rvm/gems/ruby-2.2.1/gems/coffee-rails-4.1.0/lib/assets/javascripts
  /home/dm/.rvm/gems/ruby-2.2.1/gems/angularjs-rails-1.4.8/vendor/assets/javascripts
  /home/dm/.rvm/gems/ruby-2.2.1/gems/bootstrap-sass-3.3.6/assets/stylesheets
...

这是 jquery-ui-gem 的目录布局在这台机器上的样子:

~/.rvm/gems/ruby-2.2.1/gems/jquery-ui-rails-5.0.5/的内容

app  Gemfile  History.md  lib  License.txt  Rakefile  README.md VERSIONS.md

~/.rvm/gems/ruby-2.2.1/gems/jquery-ui-rails-5.0.5/app/assets/javascripts/jquery-ui的内容

accordion.js         datepicker-da.js     datepicker-fr-CH.js  datepicker-ka.js     datepicker-nn.js     datepicker-ta.js     effect-bounce.js     effect-transfer.js
autocomplete.js      datepicker-de.js     datepicker-fr.js     datepicker-kk.js     datepicker-no.js     datepicker-th.js     effect-clip.js       menu.js
button.js            datepicker-el.js     datepicker-gl.js     datepicker-km.js     datepicker-pl.js     datepicker-tj.js     effect-drop.js       mouse.js
core.js              datepicker-en-AU.js  datepicker-he.js     datepicker-ko.js     datepicker-pt-BR.js  datepicker-tr.js     effect-explode.js    position.js
datepicker-af.js     datepicker-en-GB.js  datepicker-hi.js     datepicker-ky.js     datepicker-pt.js     datepicker-uk.js     effect-fade.js       progressbar.js
datepicker-ar-DZ.js  datepicker-en-NZ.js  datepicker-hr.js     datepicker-lb.js     datepicker-rm.js     datepicker-vi.js     effect-fold.js       resizable.js
datepicker-ar.js     datepicker-eo.js     datepicker-hu.js     datepicker-lt.js     datepicker-ro.js     datepicker-zh-CN.js  effect-highlight.js  selectable.js
datepicker-az.js     datepicker-es.js     datepicker-hy.js     datepicker-lv.js     datepicker-ru.js     datepicker-zh-HK.js  effect.js            selectmenu.js
datepicker-be.js     datepicker-et.js     datepicker-id.js     datepicker-mk.js     datepicker-sk.js     datepicker-zh-TW.js  effect-puff.js       slider.js
datepicker-bg.js     datepicker-eu.js     datepicker-is.js     datepicker-ml.js     datepicker-sl.js     dialog.js            effect-pulsate.js    sortable.js
datepicker-bs.js     datepicker-fa.js     datepicker-it-CH.js  datepicker-ms.js     datepicker-sq.js     draggable.js         effect-scale.js      spinner.js
datepicker-ca.js     datepicker-fi.js     datepicker-it.js     datepicker-nb.js     datepicker-sr.js     droppable.js         effect-shake.js      tabs.js
datepicker-cs.js     datepicker-fo.js     datepicker-ja.js     datepicker-nl-BE.js  datepicker-sr-SR.js  effect.all.js        effect-size.js       tooltip.js
datepicker-cy-GB.js  datepicker-fr-CA.js  datepicker.js        datepicker-nl.js     datepicker-sv.js     effect-blind.js      effect-slide.js      widget.js

我在这里没有做些什么?

【问题讨论】:

  • 你使用的是什么版本的 Rails?

标签: ruby-on-rails jquery-ui rvm bundler jquery-ui-autocomplete


【解决方案1】:

您似乎遵循了错误的 README 文件。您正在阅读的是 Rails 5.0 及更高版本。

关注此文档了解 5.0 之前的 Rails 版本 - https://github.com/joliss/jquery-ui-rails/blob/v4.2.1/README.md

【讨论】:

  • 谢谢 - 不用骰子。例如,我尝试将 js 包含行更新为 //= require jquery.ui.autocomplete,但得到的消息基本相同。在我的机器上四处寻找文件,并没有像 jquery-ui-rails 的分支 4.2.1 那样的 jquery.ui.autocomplete。结论:github.com/joliss/jquery-ui-rails 的文档指的是 jquery-ui 版本,而不是 rails 版本,当它说“警告:如果您使用低于 5.0 的版本,您将不得不为需要的文件使用不同的命名,请参阅 [链接到 4.2.1 版本的 jquery-ui-rails-gem]"
  • jquery 没有越过 v2.2,并且 jquery-ui 没有越过 v1.12 我上次检查时。清单文件要求您在对它们进行任何更改时重新启动服务器。改变后你这样做了吗?
  • 没想过重启服务器。这就是诀窍。谢谢! (看起来 jquery-ui-gem 有它自己的不跟踪 jquery-ui 的版本号:github.com/joliss/jquery-ui-rails/releases
  • 乐于助人。 :) 如果有,请点击正确答案。
【解决方案2】:

我过去一直在努力解决这个问题。只需删除 /autocomplete 部分并将 require 和 import 留给 jquery-ui ,它将自行加载自动完成功能和其余部分。

让我的自动完成功能使用这个咖啡脚本

jQuery -> $('#booking_product').autocomplete 来源:['']

【讨论】:

    猜你喜欢
    • 2013-03-30
    • 2013-03-30
    • 2012-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-23
    • 1970-01-01
    • 2019-10-26
    相关资源
    最近更新 更多