web-dev-qa-db-ja.com

ペーパークリップとRMagickで既存の画像を新しいスタイルにサイズ変更

私はRailsアプリで写真をアップロードして自動サイズ変更するためにペーパークリップを使用していて、それが大好きです。問題は1か月に1度です写真を追加します。写真モデルに新しいスタイルを追加しましたが、すべて新しい写真に適していますが、既存の写真は問題になっています。処理する写真が数枚になり始めています。既存の写真のサイズを変更するためのプログラム的な方法が必要です。おそらく、そのためのペーパークリップトリックがあるのではないでしょうか?必要がない場合は、RMagickを理解してスクリプトを自分で書く必要はありません。

62
tybro0103

Paperclip :: Attachmentのreprocess!メソッドが必要です。 the docs を参照してください。

class User < ActiveRecord::Base
  has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" }
end

# Console...
>> User.find_each { |u| u.avatar.reprocess! }

また、reprocess!メソッドの前のコメントによると、Paperclip:refresh Rakeタスクがあり、より簡単かもしれません。

84
Robert Speicher

paperclipが提供するこのrakeタスクを試してください

rake Paperclip:refresh:missing_styles

参照: https://github.com/thoughtbot/Paperclip#post-processing

29
Naveed