Условные версии / процесс с 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?

Который сказал мне, что не было никакого имени метода как это. Я потерян ...

Ответы на вопрос(2)

Ваш ответ на вопрос