4

私がやりたいのは、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を試しましたが、何が起こっているのかわかりません。私はそれを正しくやっているかどうかわからないので、助けていただければ幸いです。ありがとう。

4

1 に答える 1

20

わかりました、私は愚かです。私は初期化子を持っていました

config.enable_processing = false

そのため、画像を処理することはありません。trueに設定するか、行を削除するだけで問題が解決しました。

于 2012-09-27T08:27:19.247 に答える