Масштаб неопределенного метода в CarrierWave - PullRequest
18 голосов
/ 31 марта 2012

Я пытаюсь использовать этот код в моем загрузчике

  version :thumb do
    process :scale => [50, 50]
  end

и я получаю сообщение об ошибке

undefined method `scale' for #<#<Class:0x235b680>:0x0fb4c8>

Я использую Carrierwave с MiniMagick. Как я могу исправить эту ошибку?

Ответы [ 2 ]

36 голосов
/ 02 апреля 2012

Вместо вызова шкалы вызовите resize_to_fit

process :resize_to_fit => [50, 50]

или resize_to_fill, если вы не хотите сохранять соотношение сторон

EDIT

Мой плохой, и resize_to_fit, и resize_to_fill сохраняют соотношение сторон.

Разница в том, что resize_to_fit сохранит все изображение в заданных границах, а resize_to_fill заполнит всю данную область, чтобы при необходимости оно могло обрезать ваше изображение.

2 голосов
/ 03 февраля 2015

Метод scale является примером (сгенерированным оператором carrierwave в загрузчике), вам необходимо использовать функции RMagic (или minimagick) (в их собственном геме, поскольку их меньшая версия включена в carrierwave), если выхочу масштабировать и для этого не сохранять соотношение исходного изображения

...