我可以在一个回形针附件字段中存储不同类型的文件吗?

时间:2013-03-12 18:29:53

标签: ruby-on-rails paperclip

我有一个接受照片或视频的模特。它运作正常,但我认为它已经被验证了。

对于照片,我有这个:

has_attached_file :content, styles: { thumb: '275x185#' }

哪个效果很好,但用视频保存内容会产生:

Validation failed: Content Paperclip::Errors::NotIdentifiedByImageMagickError, Content Paperclip::Errors::NotIdentifiedByImageMagickError

我认为这是因为它试图调整视频的尺寸。是否可以仅为图像内容定义拇指大小,但在视频时忽略它?或者我必须制作两个不同的字段,一个照片一个视频,并且我的数据库中有nil?

1 个答案:

答案 0 :(得分:1)

可以给

styles一个lambda来执行条件处理:

has_attached_file :content, styles: lambda do |a|
  if ['image/jpeg', 'image/jpg', 'image/gif', 'image/png'].include? a.instance.content_content_type
    { thumb: '275x185#'}
  end  
end

但是,此处用于检查content是否为图片的方法可能不准确。