如何在Paperclip中创建条件样式?

时间:2012-01-24 20:54:42

标签: ruby-on-rails ruby paperclip conditional gif

我正在尝试让Paperclip将每个图像转换为JPG,除非它是GIF动画。有没有办法指定条件样式,或者我必须制作处理器?

2 个答案:

答案 0 :(得分:2)

ImageMagick应该为你完成。为此,您应该为样式添加:jpg

has_attached_file :avatar, :styles => { :thumb => ["32x32#", :jpg] }

Documentation

答案 1 :(得分:2)

据我所知,Paperclip没有任何内置功能来解决您的问题,除了自定义处理器。你可以这样做:

module Paperclip
  class ConditionalConverter < Thumbnail
    def initialize(file, options = {}, attachment = nil)
      super(file, options, attachment)
      @format = :jpg unless self.animated?
    end
  end
end