2011-12-09 17 views
2

これは、thisと同様の質問です。追加のスタイルを追加するだけで、クリップで保存された画像を再加工するにはどうすればよいですか?

私は約28,000のレコードを持つGalleryPhotoモデルを持っています。それぞれには、オリジナル、大、中、小、および親指の5つのスタイルの画像添付があります。大、中、小にはウォーターマークが適用されています。ウォーターマークのないスタイルにダウンロードという追加スタイルを追加したいと思います。

バッチ全体を再処理して、既存のスタイルをすべてやり直さずに追加のスタイルのみを追加するにはどうすればよいですか?それ以外の場合、再処理にはおそらく数日かかるでしょう。

Rails 3.1.1 
Paperclip 2.4.2 
ImageMagick 6.2.8 

答えて

0

ここではコンソールで行ったことがありますが、これはかなりうまくいくようです。

GalleryPhoto.order('id DESC').each do |record| 
    original_style_name = "original_#{record.image_file_name}" 
    new_style_name = "small_download_#{record.image_file_name}" 
    image_path = "#{Rails.root}/private/images/galleries/#{record.gallery_id}/#{record.id}" 
    system "cd #{image_path} && cp #{original_style_name} #{new_style_name} && mogrify -resize 600x600 #{new_style_name}" 
    puts record.id 
end 
関連する問題