CarrierWave调整大小无效(Rails 3和MiniMagick)

4
我想通过IMGKit保存一个网站的完整快照,并在其中一个视图中拥有缩略图版本。为了将快照与对象相关联并使用MiniMagick进行操作,我正在使用carrierwave,但问题是它生成了“缩略图”图像,但没有调整大小,因此我有两个完整大小的快照,其中一个带有“thumb”作为前缀。
我在Rails中有这个模型。
class Webpage
  mount_uploader :snapshot, SnapshotUploader
  field :url, type: String
  field :title, type: String

  after_create :get_snapshot

  private
  def get_snapshot
    file = Tempfile.new(["#{id}#{title}".downcase, '.jpg'], 'tmp', :encoding => 'ascii-8bit')
    image = IMGKit.new(url, quality: 90).to_jpg
    file.write(image)
    file.flush
    self.snapshot= file
    self.save
    file.unlink
  end


end

我在上传器中使用以下代码来创建缩略图版本:

class SnapshotUploader < CarrierWave::Uploader::Base
  include CarrierWave::MiniMagick

  version :thumb do
    process resize_to_fill: [180, 180]
  end

end

我使用控制台尝试使用MiniMagick调整图像大小,它能够正常工作,但我不知道发生了什么。 我不确定我是否做得对,所以需要帮助。谢谢。

1个回答

21

好的,我有点傻。我有一个初始化器,其中

config.enable_processing = false

因此它永远不会处理图像。只需将其设置为true或删除该行即可解决我的问题。


1
天啊!我做了同样的事情!谢谢你的帮助!=D - Hugo Demiglio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接