Versiones condicionales / proceso con Carrierwave
Tengo esta clase de cargador
class ImageUploader < CarrierWave::Uploader::Base
include CarrierWave::RMagick
process :resize_to_limit => [300, 300]
version :thumb do
process :resize_to_limit => [50, 50]
end
...
El cual procesará el archivo original a 300x300 y guardará una versión en miniatura.
Me gustaría poder hacer una versión pequeña / pulgar solo basada en un booleano en mi modelo?
Así que hice esto
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
Pero siempre terminó en un procesamiento de 50x50. Incluso cuando me gustó esto
def icon_only? picture
false
end
Puede que tenga mi sintaxis muy equivocada con el: pero también intenté preguntar
if icon_only?
Lo que me dijo que no había un nombre de método como ese. Estoy perdido ...