Как вы обрабатываете разные версии изображения в Carriewave?

Я создал 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

Извините, если это не то, что вы ищете, но я взял это из документов-носителей.

Восстанавливающие версии

Возможно, вы столкнетесь с ситуацией, когда вы хотите ретроактивно изменить версию или добавить новую. Вы можете использовать rereate_versions! метод для воссоздания версий из базового файла. Это использует наивный подход, который будет повторно загружать и обрабатывать все версии.

instance = MyUploader.new
instance.recreate_versions!

Или на подключенном загрузчике:

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