【发布时间】: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