2

だから私はモデル、写真を持っています。マウントされた画像を含むモデル全体を複製したいと思います。

old_photo = Photo.find(id)   
new_photo = Photo.new(old_photo.attributes)

class Photo
  include Mongoid::Document
  mount_uploader :image, ImageUploader
end

しかし、マウントされたイメージとそのすべてのバージョンを複製するにはどうすればよいですか? つまり、写真の正確なコピーを作成し、同じものを使用しないでください。(後で変更できるので)

この質問は似ています: https://stackoverflow.com/questions/7287905/duplicate-an-image-on-amazon-s3-that-was-uploaded-using-carrierwave-fog-and-rai

彼は 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である理由はありますか?

4

0 に答える 0