Воссоздать версии - carrierwave-fog-aws

Я пытаюсь воссоздать изображения, которые я загрузил, используя следующее в моей модели...

  Post.all.each do |ym| 
      ym.avatar.cache_stored_file! 
      ym.avatar.retrieve_from_cache!(ym.avatar.cache_name) 
      ym.avatar.recreate_versions! 
      ym.save! 
  end

К сожалению, я получаю следующую ошибку....

(undefined method `body' for nil:NilClass):

Мой загрузчик называется AvatarUploader и для моей модели Post. Любые советы о том, как это исправить?

Ответ 1

Я столкнулся с аналогичной проблемой при использовании async-обработки на сервере только для чтения (Heroku). В моем случае возникла проблема при определении размера файла, который я разрешил "обезглавливание" def size из класса туманного файла:

module CarrierWave
  module Storage
    class Fog < Abstract
      class File
        def size
          file.nil? ? 0 : file.content_length
        end
      end
    end
  end
end

Я могу помочь вам больше, если проблема все еще сохраняется, и когда вы отправляете более подробную информацию из конфигурации backtrace и gems.