Как написать скрипт (в Ruby / Rails), который будет восстанавливать все эскизы для моих новых стилей скрепки? - PullRequest
4 голосов
/ 09 марта 2011

У меня есть модель Image со следующими двумя стилями:

:original => ['500x400!'],
:thumb    => ['75x54!',:jpg]

Последний стиль: thumb, я только что изменил размеры, чтобы увеличить миниатюры.

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

Надеясь, что кто-то может дать совет, как это можно сделать.

Спасибо!

Ответы [ 2 ]

7 голосов
/ 09 марта 2011

Для этого есть рейк-задание :

rake paperclip:refresh:thumbnails CLASS=YourModel

Для большего контроля вы также можете вручную повторно обработать миниатюры для определенных экземпляров:

some_model_instances.each do |instance|
  instance.photo.reprocess!
end
4 голосов
/ 09 марта 2011

Скрепка поставляется с задачей грабли, которая делает именно это:

rake paperclip:refresh RAILS_ENV=production CLASS=Photo

В этом примере приведенное выше будет заново генерировать все вложения, принадлежащие классу Photo.

...