Использование .processed
- это правильный способ проверить, был ли этот вариант уже обработан и загружен в службу хранения.
Одна вещь, которую Paperclip прекрасно выполнил, - это объект styles: {}
, в котором можно перечислитьвсе различные преобразования, которые вы хотели сделать для миниатюр и т. д., и назовите их.
Вот как я обрабатываю именованные и сохраненные преобразования.Это также сокращает синтаксис моего шаблона:
class Image < ActiveRecord::Base
has_one_attached :image_file
def self.sizes
{
thumbnail: { resize: "100x100" },
hero1: { resize: "1000x500" }
}
end
def sized(size)
self.image_file.variant(Image.sizes[size]).processed
end
end
Затем в шаблоне, скажем, у меня есть @image
, я могу просто позвонить @image.sized(:hero1)