如何在Carrierwave中重新处理不同版本的图像?

时间:2011-02-27 10:10:11

标签: ruby-on-rails upload carrierwave

我创建了3个版本的我的头像:

process :resize_to_limit => [400, 400]  

   version :big_thumb do
     process :resize_to_limit => [80, 80]
   end

   version :small_thumb do
     process :resize_to_limit => [50, 50]
   end

我写了一个裁剪功能来裁剪我原来的版本,但是我似乎无法根据新裁剪的原始版本重新生成我的2个缩略图。

有什么想法吗?

1 个答案:

答案 0 :(得分:18)

很抱歉,如果这不是你想要的,但我从carrierwave docs

中取出了这个
  

重新创建版本

     

您可能会遇到要追溯更改版本或添加新版本的情况。你可以使用recreate_versions!从基本文件重新创建版本的方法。这使用了一种天真的方法,可以重新上传和处理所有版本。

instance = MyUploader.new
instance.recreate_versions!
  

或者在装载的上传器上:

User.all.each do |user|
  user.avatar.recreate_versions!
end