Ruby on rails 使用carrierwave backgrounder上传图像,然后监听已完成的上传,以便我可以重新加载页面

Ruby on rails 使用carrierwave backgrounder上传图像,然后监听已完成的上传,以便我可以重新加载页面,ruby-on-rails,ajax,ruby-on-rails-3,file-upload,carrierwave,Ruby On Rails,Ajax,Ruby On Rails 3,File Upload,Carrierwave,我使用jquery文件upload rails/carrierwave/carrierwave_background/sidekiq/fog+s3来完成以下操作: 允许用户上传图像,使用sidekiq在后台处理该图像(创建多个版本/大小),然后将这些版本+原件上传到Amazon S3。这个很好用。(虽然我怀疑这可能是一种非常低效/蹩脚的方式,我应该直接使用客户端javascript上传。但我不知道怎么做。)用户转到新的照片页面上传照片,然后重定向到显示所有照片的照片索引页面。问题是,由于处理图像

我使用jquery文件upload rails/carrierwave/carrierwave_background/sidekiq/fog+s3来完成以下操作:

允许用户上传图像,使用sidekiq在后台处理该图像(创建多个版本/大小),然后将这些版本+原件上传到Amazon S3。这个很好用。(虽然我怀疑这可能是一种非常低效/蹩脚的方式,我应该直接使用客户端javascript上传。但我不知道怎么做。)用户转到新的照片页面上传照片,然后重定向到显示所有照片的照片索引页面。问题是,由于处理图像需要一段时间,当用户被重定向到索引时,处理还没有发生。相反,用户会看到一个“正在处理图像…”文本,该文本基于图像记录上设置的标志显示图像的位置。(我从一位ryan bates railscast那里得到了大部分信息。)显然,这不是讨好用户的好方法

有没有办法让索引页侦听要(取消)设置的标志,或者发生其他事情,以便在准备显示照片时重新加载自身? 我的新照片表单如下所示:

    = simple_form_for @photo, url: user_photos_path(@user) do |f|
      %span.fileupload-new
        Choose a file
      = f.file_field :image, label: "Choose a file:", id: 'upload-field'
      = f.button :submit, 'Upload photo'
      %ol
        - photos.each do |photo|
          %li
            %figure
              - if photo.image_processing?
                %em processing photo...
              - else
                = image_tag(photo.image_url(:standard))
照片索引如下所示:

    = simple_form_for @photo, url: user_photos_path(@user) do |f|
      %span.fileupload-new
        Choose a file
      = f.file_field :image, label: "Choose a file:", id: 'upload-field'
      = f.button :submit, 'Upload photo'
      %ol
        - photos.each do |photo|
          %li
            %figure
              - if photo.image_processing?
                %em processing photo...
              - else
                = image_tag(photo.image_url(:standard))

任何建议都将不胜感激,无论是一种解决方案还是一种不同的方法。谢谢。

如果有人指给我看,我已经读过了,但是我不知道他上传的图片在他完成后会重定向到哪里,或者是重定向被延迟了?显然,我不想这样做,因为这样做:a)没有任何背景的意义;b) 并非索引中的所有内容都将被“处理”,因为以前上传和处理的照片应该显示得很好。