2012-01-30 13 views
29

私のモデルには:thumbの画像があり、クライアントは:tiny:nanoのサムネイルが必要です。Carrierwaveで画像を再処理する

rakeタスクを使用して既存の画像をすべて再処理するにはどうすればよいですか?

https://gist.github.com/777788私はそれがやると思っていたレーキタスクを見つけましたが、エラーが出ています。あなたは、以下のコマンドを使用することができますCarrerwaveのドキュメントによると

答えて

50

Model.all.each do |model| 
    model.image.recreate_versions! 
end 
+1

私はそれをレイクタスクに入れました。これはアプリにはちょっとハードコードされていますが、それはやってみましょう –

+0

これはすべてこれを再現するのでしょうか、それとも新しいバージョンですか? –

+1

最後の100レコードの画像を作成し直す必要がある場合は、すべてを再作成します。 - > 'Model.last(100).each {| m | m.image.recreate_versions! } ' –

0

私はあなたがこの

ような何かを行うことができ、単一のバージョンを再処理する Mikhail Nikalyukin

ことで、この偉大な答えに拡大したいです

Model.all.each do |model| 
    model.image.recreate_versions!(:version1, :version2) 
end 

この方法では、新しいバージョンを追加した場合、それらのすべてをやり直す必要はありません