【问题标题】:Ruby on Rails: "couldn't find file 'jquery.ui.datepicker'"Ruby on Rails:“找不到文件 'jquery.ui.datepicker'”
【发布时间】:2013-10-04 00:56:45
【问题描述】:

好吧,这让我发疯了。我一直按照说明在此处安装 JQuery 日期选择器:http://railscasts.com/episodes/213-calendars-revised 但我被此错误挂断了:

Sprockets::FileNotFound in Verifications#new

couldn't find file 'jquery.ui.datepicker'
  (in /app/assets/stylesheets/application.css:11)

这里是 application.js:

//= require jquery
//= require jquery.ui.all
//= require jquery_ujs
//= require_tree .

这里是 application.css:

 *= require jquery.ui.datepicker
 *= require_self
 *= require_tree .

在 Gemfile 中:

group :assets do
  gem 'jquery-ui-rails'
end

有人知道我错过了什么吗?

【问题讨论】:

    标签: javascript jquery ruby-on-rails datepicker


    【解决方案1】:

    为未来的读者。首先,请确保您在安装 gem 后重新启动了您的 rails 服务器,因为 krstck 已回答。

    然后,仔细检查您的 gem 的版本。 jquery-ui-rails5.0.0 中更改了其require 语法。现在你应该写:

    //= require jquery-ui/datepicker
    

    也添加到 css

    *= require jquery-ui/datepicker
    

    【讨论】:

    • 和 *= 需要 jquery-ui/datepicker 到 css
    【解决方案2】:

    在这里回答我自己的问题,以防其他人犯同样的愚蠢错误。我重新启动了rails服务器,然后它就可以工作了。

    【讨论】:

    • 我遇到了同样的错误,但bootstrap-datetimepicker。重新启动 Rails 服务器有效。
    • 所有其他解决方案对我来说都失败了 - 这就是票!
    【解决方案3】:

    对于 Rails 5 用户,要使用 jQuery 日期选择器,您必须将其添加到您的 application.js

    //= require jquery-ui/widgets/datepicker
    

    这个给你的application.css:

    /*
     *= require jquery-ui/datepicker
     */
    

    您也可以只使用通常的 gem 版本:

    gem 'jquery-ui-rails'
    

    同时重启你的服务器。

    这里是documentation

    【讨论】:

    • 这与 Rails 5 无关,而是从jquery-ui v5.x --> 6.0 升级的结果。违规行已从 require jquery-ui/datepicker 更改为 require jquery-ui/widgets/datepicker
    • 如果使用sass,需要输入@import 'jquery-ui/datepicker';
    • @TomLord 是对的。您可以查看 gem 并查看该版本的 jquery-ui 中如何存在 widgets 子目录。我正在使用rails 4和相同的。参考readme
    • 对于像我这样疲倦的傻瓜,对于jquery-ui-rails 6.0 用户来说,//=require jquery-ui/widgets/whateverapplication.js 中也是值得强调的……但/widgets 不需要在application.css 中添加。 (上面的答案是正确的,只是强调一下,因为我最初完全错过了它。)
    【解决方案4】:

    在您的 Gemfile 中添加“jquery-ui-rails”,并使用连字符而不是点来要求 jquery-ui

    //= require jquery-ui
    

    或降级 jquery-ui gem 版本

    gem 'jquery-ui-rails', '~> 4.2.1'
    

    【讨论】:

    【解决方案5】:

    从 jquery-ui-rails 5.0.0 降级到 4.2.1 为我修复了它。

    【讨论】:

    • jquery-ui-rails 5 中的文件名已更改 - 请改用 //= require jquery-ui/all
    【解决方案6】:

    补充一点:我遇到了同样的问题,我终于通过将//= require turbolinks 放在application.js 中的 jquery 要求之前解决了它:

    //= require turbolinks
    //= require jquery
    //= require jquery.ui.datepicker
    //= require jquery_ujs
    //= require_tree .
    

    【讨论】:

      猜你喜欢
      • 2012-07-20
      • 2013-06-07
      • 2016-07-03
      • 1970-01-01
      • 2019-06-21
      • 1970-01-01
      • 1970-01-01
      • 2013-06-26
      • 2014-08-27
      相关资源
      最近更新 更多