だから私はモデル、写真を持っています。マウントされた画像を含むモデル全体を複製したいと思います。
old_photo = Photo.find(id)
new_photo = Photo.new(old_photo.attributes)
class Photo
include Mongoid::Document
mount_uploader :image, ImageUploader
end
しかし、マウントされたイメージとそのすべてのバージョンを複製するにはどうすればよいですか? つまり、写真の正確なコピーを作成し、同じものを使用しないでください。(後で変更できるので)
彼は aws-s3 gem の AWS::S3::S3Object.copy について質問していますが、これを使用してこれを達成できますか? もしそうなら、どのように?
S3 への接続にフォグを使用していますが、フォグで行うことはできますか? もしそうなら、どのように?
アップデート:
new_photo = Photo.new(old_photo.attributes)
new_photo.image.download!(old_photo.image_url)
new_photo.store_image!
raise new_photo
=> <#Photo _id: 4f1ff69566eaa70ed800001d, image: nil>
raise new_photo.image
=> https://x.s3.amazonaws.com/uploads/photo/image/4f1ff76566eaa70ed8000020/file.png
まだアクセスできるのに、new_photoの画像がnilである理由はありますか?