CarrierWave中未定义的方法比例

时间:2012-03-30 22:02:36

标签: ruby-on-rails carrierwave

我正在尝试在我的上传器中使用此代码

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

我收到错误

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

我正在使用Carrierwave和MiniMagick。我该如何解决这个错误?

2 个答案:

答案 0 :(得分:36)

而不是调用scale调用resize_to_fit

process :resize_to_fit => [50, 50]
如果你不想保持宽高比

或resize_to_fill

修改

我的不好,resize_to_fit和resize_to_fill都保持宽高比。

不同之处在于resize_to_fit会将整个图像保持在给定范围内,而resize_to_fill将填充整个给定区域,以便在必要时剪切图像。

答案 1 :(得分:2)

scale方法是一个示例(由上传者中的carrierwave生成)您需要使用RMagic(或minimagick)个函数(在他们自己的gem中,因为它们的较小版本是包含在carrierwave中)如果你想缩放,因此不保留原始图像的比例