【问题标题】:Rails with JQuery fileupload gives expected Array (got Rack::Utils::KeySpaceConstrainedParams带有 JQuery 文件上传的 Rails 给出了预期的数组(得到了 Rack::Utils::KeySpaceConstrainedParams
【发布时间】:2013-12-18 08:20:28
【问题描述】:

我正在使用 jQuery 文件上传在 Rails 中执行 ajax 文件上传。第一次上传工作正常,但是当我尝试连续上传时,我收到服务器错误消息:

 Unexpected error while processing request: expected Array (gotRack::Utils::KeySpaceConstrainedParams) for param `photos'
/home/uriklar/.rvm/gems/ruby-1.9.3-p448/gems/rack-1.4.5/lib/rack/utils.rb:114:in `normalize_params'

这是我的上传过程的工作方式: 在公寓表单中,我有一个用于照片的嵌套表单

= f.simple_fields_for Photo.new do |photo|
  = photo.file_field :photo, label: false, class: 'photo_upload_input', multiple: true, name: "photos[]", data: {url: '/apartments/'+@apartment.id.to_s+'/photos/new'}

在我的 javascript 中:

$('.photo_upload_input').fileupload();

第一个文件上传将我发送到正确的操作 (Photos#update) 并正确保存照片。它甚至适用于多个文件。它为每个文件分别调用该操作。

    def update
     @apartment = Apartment.find(params[:apartment_id])
     @photo = @apartment.photos.create(photo: params[:photos][0])
   end

问题是,当我尝试上传第二轮照片时,我收到上面写的错误。它甚至没有击中控制器... 这个错误是什么意思?任何帮助将不胜感激! 谢谢

【问题讨论】:

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


    【解决方案1】:

    在深入研究 Rack 代码并对其了解甚少之后,我决定进行更改: name = "photos[]"name="photos"(在 file_field 输入中)现在一切正常! 不太清楚为什么......但这是我的解决方案

    【讨论】:

      猜你喜欢
      • 2015-10-29
      • 1970-01-01
      • 1970-01-01
      • 2022-11-10
      • 2021-08-15
      • 2019-06-20
      • 2020-07-03
      • 2021-11-15
      • 2019-09-19
      相关资源
      最近更新 更多