Проблема в том, что вы определили версию :medium
дважды.Он попадает в часть:
..., :if => is_landscape?
, которая для изображений без ландшафта возвращает false.В результате ничего не сделано.Второе объявление version :medium
, которое у вас есть, никогда не запускается, потому что вы не можете объявить две версии с одинаковыми именами, поэтому оно просто полностью пропущено.
Вам нужно создать только одну версиюс именем :medium
и условно обрабатывать вращение по часовой стрелке.Что-то вроде:
class FloorPlanPhotoUploader < CarrierWave::Uploader::Base
...
version :medium do
process :rotate_cw, :if => :is_landscape?
process :resize_and_pad => [ 260, 360, :white, 'Center']
end
...
end
Вы можете таким образом объединить несколько этапов обработки в одной версии.Здесь является отличным учебником , который углубляется в эту тему.