Ruby on rails 回形针只处理图像

Ruby on rails 回形针只处理图像,ruby-on-rails,ruby,image-processing,paperclip,Ruby On Rails,Ruby,Image Processing,Paperclip,我想对多种格式使用单个文件字段。据我所知,回形针足够聪明,可以只缩放图像,而不使用其他格式,但这似乎不适用于flv(返回imagemagick/identify错误)。有没有办法帮回形针一点,并明确地设置特定的格式来缩放 更新: 显然,这些错误是通过:whiny=>false(感谢fl00r)来防止的,对于常规上传来说,这很好。 但是,我在这里尝试通过FTP上传文件,然后在附件参数中使用file.new([:path])通过代码创建一个新记录。这就像是图像的魅力,但是:whiny=>false技

我想对多种格式使用单个文件字段。据我所知,回形针足够聪明,可以只缩放图像,而不使用其他格式,但这似乎不适用于flv(返回imagemagick/identify错误)。有没有办法帮回形针一点,并明确地设置特定的格式来缩放

更新: 显然,这些错误是通过:whiny=>false(感谢fl00r)来防止的,对于常规上传来说,这很好。
但是,我在这里尝试通过FTP上传文件,然后在附件参数中使用file.new([:path])通过代码创建一个新记录。这就像是图像的魅力,但是:whiny=>false技巧不再适用了。有人对此有什么建议吗?

:whany
选项设置为false:

has_attached_file :my_attach, :whiny => false ...
它不会帮助peparclip仅处理图像,但如果处理失败,它不会抛出错误

UPD

仅处理图像:

has_attached_file :file, 
  :styles => lambda{ |a| ["image/jpeg", "image/png"].include?( a.content_type ) ? { :small => "90x90#" } : {}  }

您可以在
[“image/jpeg”,“image/png”]
数组中添加任意多的内容类型,也可以使用曲别针的回调对图像进行后处理,并指示曲别针仅处理图像。如果
before\u post\u进程
回调返回false,则处理停止

    before_post_process :process_only_images

    def process_only_images
     %w(image/jpeg, image/png,image/gif,image/pjpeg, image/x-png).include?(attachment_content_type)
    end

查看回形针的文档,了解更多详细信息,请访问

不知何故,数组include方法不断抛出“NoMethodError(未定义的方法'each'for false:FalseClass)”错误,因此我不得不以肮脏的方式执行。但至少它是有效的,再次感谢。看起来这个问题与款式无关。我是这么想的。。目前可以使用,但我会继续查找此错误。我喜欢这种方法,但代码不太正确:%w(image/jpeg-image/png,image/gif-image/pjpeg-image/x-png)。include?(附件内容类型)您必须小心,这不是使用%w声明数组的方式。改为使用此
%w(image/jpeg-image/png-image/gif-image/pjpeg-image/x-png)。包括?(资源内容类型)