読者です 読者をやめる 読者になる 読者になる

carrierwave で処理後の画像サイズを取得する

image を セットしたとき、同時にカラムにサイズを保存する処理

class PhotoImageLargeUploader < CarrierWave::Uploader::Base
        include CarrierWave::RMagick

         ...

        process resize_to_fit: [100, 100]
        process convert: 'jpeg'
        process :hoge

        def hoge
            # rmagick インスタンスにアクセスできる
            manipulate! do |img|
               # model という変数が、bind した model の インスタンスとして使える
               model.width = img.columns
               model.height = img.rows
               img
               # rmagick インスタンスを返す
            end
        end

end
  photo = Photo.new
  photo.image = image
  photo.save