Carrierwave が自分のサイトに画像をアップロードし、S3 に保存しています。
ただし、ユーザーがレコードを編集するたびに、画像を変更する必要がない場合でも、画像を再度アップロードする必要があります。ユーザーが新しい画像をアップロードすることを「選択」しない限り、既存の画像を引き続き使用できるようにしたい。
Carrierwave が自分のサイトに画像をアップロードし、S3 に保存しています。
ただし、ユーザーがレコードを編集するたびに、画像を変更する必要がない場合でも、画像を再度アップロードする必要があります。ユーザーが新しい画像をアップロードすることを「選択」しない限り、既存の画像を引き続き使用できるようにしたい。
Carrierwave wikiには、「方法: アップロードされたファイルを保持する (特定のアップローダー用)」というセクションがあります。これが S3 で機能するかどうかはわかりませんが、試してみてください。
アップロードされたすべてのファイルを保持するには、次のような初期化子を使用します。
CarrierWave.configure do |config|
config.remove_previously_stored_files_after_update = false
end
アップロードごとに設定したい場合:
class AvatarUploader < CarrierWave::Uploader::Base
configure do |config|
config.remove_previously_stored_files_after_update = false
end
...
end
何をしたかわかりませんが、これは現在機能しています。UI には画像がまだ存在することが反映されていませんが、ユーザーは画像を再度アップロードする必要はありません。