Вам нужно определить пользовательский метод обработки в загрузчике, используя метод manipulate!
Carrierwave. Вот пример, который я только что протестировал:
class Uploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
storage :file
process :force_resize => [160, 160]
def force_resize(width, height)
manipulate! do |img|
img.resize("#{width}x#{height}!")
img
end
end
end
При этом размер изображения изменяется до 160x160px без учета соотношения сторон (обратите внимание на восклицательный знак в конце аргумента resize
).