【问题标题】:Undefined Method Scale In CarrierWaveCarrierWave 中未定义的方法比例
【发布时间】:2012-03-30 22:02:35
【问题描述】:

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

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

我收到一个错误提示

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

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

【问题讨论】:

  • 您找到解决方案了吗?有同样的问题

标签: ruby-on-rails carrierwave


【解决方案1】:

而不是调用 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 将填充整个给定区域,以便在必要时剪切您的图像。

【讨论】:

  • 如果不想保留纵横比怎么办?
  • 就像我写的“resize_to_fill”
  • 我还必须在我的上传器类中 gem install rmagickinclude CarrierWave::RMagick
  • 根据文档,resize_to_fill 也保持纵横比:imagemagick.org/RMagick/doc/image3.html#resize_to_fill
【解决方案2】:

scale 方法是一个示例(由上传器中的 carrierwave 生成​​),如果您想要缩放,因此,不保留原始图像的比例

【讨论】:

    猜你喜欢
    • 2016-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-26
    • 1970-01-01
    • 1970-01-01
    • 2011-09-21
    • 1970-01-01
    相关资源
    最近更新 更多