私がやりたいのは、IMGKitを介してフルサイズのスナップショットでWebサイトのURLを保存することです。ビューの1つに、スナップショットのサムネイルバージョンも必要です。スナップショットをMiniMagickのオブジェクトに関連付けて操作するために、carrierwaveを使用しています。問題は、「サムネイル」画像を生成しますが、サイズを変更しないため、2つのフルサイズのスナップショットがあります。接頭辞として「thumb」を使用したものの1つ。
私はこのモデルをレールに入れています
class Webpage
mount_uploader :snapshot, SnapshotUploader
field :url, type: String
field :title, type: String
after_create :get_snapshot
private
def get_snapshot
file = Tempfile.new(["#{id}#{title}".downcase, '.jpg'], 'tmp', :encoding => 'ascii-8bit')
image = IMGKit.new(url, quality: 90).to_jpg
file.write(image)
file.flush
self.snapshot= file
self.save
file.unlink
end
end
サムネイルバージョンを作成するために、アップローダーにこれがあります。
class SnapshotUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
version :thumb do
process resize_to_fill: [180, 180]
end
end
コンソールを使用して、画像のサイズを変更するためにMiniMagickを試しましたが、何が起こっているのかわかりません。私はそれを正しくやっているかどうかわからないので、助けていただければ幸いです。ありがとう。