【问题标题】:Rails 5: Sprockets::FileNotFound - couldn't find file 'jquery-ui/autocomplete' with type 'application/javascript'Rails 5:Sprockets::FileNotFound - 找不到类型为“application/javascript”的文件“jquery-ui/autocomplete”
【发布时间】:2017-01-09 23:28:32
【问题描述】:

我刚刚将我们的 Rails 应用程序从 4.2.5 升级到 5.0.1

rails 服务器可以正常启动,但是当我尝试加载页面时出现错误:

Sprockets::FileNotFound - couldn't find file 'jquery-ui/autocomplete' with type 'application/javascript'

当我运行bundle 时,我可以看到

Using jquery-rails 4.2.2
Using jquery-ui-rails 6.0.1

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-5


    【解决方案1】:

    更改 application.js 中的行

    来自

    //= require jquery-ui/autocomplete
    

     //= require jquery-ui/widgets/autocomplete
    

    【讨论】:

    • 这是为我做的。
    【解决方案2】:

    似乎文件路径已更改。根据gem readme

    警告:

    由于 jQuery UI 1.10、1.11 和 1.12 之间的目录结构变化,如果您使用的版本低于 6.0,您将不得不为所需文件使用不同的命名,请查看以下链接以获取更多信息:for 5.0 用户,4.2 用户。

    【讨论】:

    • 更改为://= 需要 jquery-ui/widgets/autocomplete
    • 这个答案解决了你的问题吗?似乎您正在运行 > 6.0,因此自述文件中的目录更改似乎不适用。我问是因为我遇到了与您相同的问题并运行类似的 gem 版本。 jquery-rails (4.3.1, 4.2.1, 4.0.5) jquery-ui-rails (6.0.1, 5.0.5)
    【解决方案3】:

    我的情况非常奇怪。当我在 Ubuntu 20 中设置我的旧旧应用程序时,它运行良好,直到我重新启动我的笔记本电脑。之后,它显示了有问题的错误。我检查了我是否使用了正确的 RVM gemset 和正确的 ruby​​ 版本,gem 已按应有的方式捆绑在一起。

    当我改变了

    //= require jquery-ui/autocomplete
    

    //= require jquery-ui/widgets/autocomplete
    

    这条线通过并且工作正常,但下一条开始导致问题。

    最终我不得不更改以下所有行:

    //= require jquery-ui/widgets/autocomplete
    //= require jquery-ui/widgets/datepicker
    //= require jquery-ui/widgets/droppable
    

    除了这个: //= require jquery-ui/effect 我不知道为什么这条单行有效,而其他行却不行:/

    【讨论】:

      猜你喜欢
      • 2018-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-14
      • 2019-09-20
      • 1970-01-01
      • 1970-01-01
      • 2019-06-20
      相关资源
      最近更新 更多