Условные версии / процесс с Carrierwave
У меня есть класс загрузки
class ImageUploader < CarrierWave::Uploader::Base
include CarrierWave::RMagick
process :resize_to_limit => [300, 300]
version :thumb do
process :resize_to_limit => [50, 50]
end
...
Который будет обрабатывать исходный файл до 300x300 и сохранить версию большого пальца.
Я хотел бы иметь возможность сделать версию для малого / большого пальца только на основе логического значения для моей модели?
Так я и сделал
if :icon_only?
process :resize_to_limit => [50, 50]
else
process :resize_to_limit => [300, 300]
end
protected
def icon_only? picture
model.icon_only?
end
Но это всегда заканчивалось обработкой 50х50. Даже когда мне это нравилось
def icon_only? picture
false
end
Я мог бы получить мой синтаксис все неправильно с: но я также пытался спросить
if icon_only?
Который сказал мне, что не было никакого имени метода как это. Я потерян ...