【问题标题】:Rails jquery-fileupload gem - couldn't find file errorRails jquery-fileupload gem - 找不到文件错误
【发布时间】:2025-12-28 13:25:10
【问题描述】:

我正在尝试关注 jQuery-FileUpload 上的 Railscasts 集。我已经添加了

gem 'jquery-fileupload-rails' 

Gemfile的资产组,还添加了

//= require jquery-fileupload/basic

行到资产目录中的application.js 文件。但是,当我尝试打开网站时,会显示以下错误:

couldn't find file 'jquery-fileupload'
  (in root/app/assets/javascripts/application.js:15)

任何帮助将不胜感激。

【问题讨论】:

  • 尝试在 application.js 的这一行删除第一个空格://=require jquery-fileupload/basic
  • 它没有用。不过,感谢您的尝试。
  • Gemfile添加插件后,你运行bundle update了吗?
  • 是的。跑bundle install 以确保它已安装。
  • 可能在application.js中,以//=开头的Sprockets表达式之间有一些空格,你也检查一下吗?

标签: ruby-on-rails sprockets jquery-file-upload


【解决方案1】:

我找到了一个“解决方案”——重启 rails 服务器就可以了。

【讨论】:

    【解决方案2】:

    从资产组中删除它,它会正常工作。

    【讨论】:

      【解决方案3】:

      我已经解决了这个问题:

      添加

      gem 'therubyracer'
      gem 'execjs'
      

      到您的 Gemfile。

      然后运行bundle installrake assets:precompile --trace RAILS_ENV=production

      【讨论】:

        【解决方案4】:

        这真的很奇怪,我刚刚尝试了Gemfile

        source 'https://rubygems.org'
        
        gem 'rails', '3.2.12'
        
        # Bundle edge Rails instead:
        # gem 'rails', :git => 'git://github.com/rails/rails.git'
        
        gem 'sqlite3'
        
        
        # Gems used only for assets and not required
        # in production environments by default.
        group :assets do
          gem 'sass-rails',   '~> 3.2.3'
          gem 'coffee-rails', '~> 3.2.1'
        
          gem "jquery-fileupload-rails"
        
          # See https://github.com/sstephenson/execjs#readme for more supported runtimes
          # gem 'therubyracer', :platforms => :ruby
        
          gem 'uglifier', '>= 1.0.3'
        end
        
        gem 'jquery-rails'
        

        在 application.js 上

        //= require jquery
        //= require jquery_ujs
        //= require_tree .
        //= require jquery-fileupload/basic
        

        并且工作得很好,你运行 bundle 了吗?我知道这是一个愚蠢的问题,但它可能是

        【讨论】:

        • 我什至将我的 rails gem 从 3.2.11 更新到 3.2.12,但它仍然无法正常工作。我不确定该怎么做。感谢您的帮助。
        • 好吧,如果你能够在 github 上推送你的应用程序,我可以尝试找到问题,找不到你的资产是没有意义的。你能把完整的 Gemfile 放在以防万一吗?
        • 我找到了一个“解决方案”——重启 Rails 服务器就可以了。我不敢相信我没想过这样做。感谢您的努力。
        【解决方案5】:

        我想你想将以下行添加到 application.js

        //= require jquery-fileupload 
        

        【讨论】:

          【解决方案6】:

          我最近遇到了类似的事情。对我有用的是直接从 git 加载 gem

          gem 'jquery-fileupload-rails', git: 'git://github.com/ollnixon/jquery-fileupload-rails.git'
          

          然后加载需要的ui样式

          *= require jquery.fileupload-ui
          

          现在完美运行

          【讨论】:

            最近更新 更多