Carrierwave を使用して S3 にアップロードされたイメージをダウンロードしたいと考えています。画像は、アップローダーとしてマウントされたカードモデルにあります。この回答を見ましたが、その解決策を機能させるのに苦労しました。私のコードは次のとおりです。
#download image from S3
uploader = card.image #image is the mounted uploader
uploader.retrieve_from_store!(File.basename(card.image.url))
uploader.cache_stored_file!
その最後の行はスローします:「...例外が発生しました(nil:NilClassの未定義のメソッド「本体」)...」
私のcarrierwave構成は次のようになります:
#config/initializers/carrierwave.rb
CarrierWave.configure do |config|
config.storage = :fog
config.cache_dir = "#{Rails.root}/tmp/upload"
...
end