Я бы рекомендовал использовать Скрепка для загрузки изображений.
С помощью Paperclip вы определяете, как вы хотите обрабатывать изображения после загрузки.
Автоматическое изменение размера выполняется путем установки значений в загружаемой модели.
class User < ActiveRecord::Base
has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" }
end
Вот хороший пример создания постпроцессоров и еще один для добавления водяного знака с помощью ImageMagick .
Следует отметить, что у вас уже есть приложение (с загруженными изображениями) в режиме реального времени, вы можете снова «запустить» над ним команды Paperclip с помощью команды:
rake paperclip:refresh ModelName RAILS_ENV=production