0

我有一个接受照片或视频的模型。它工作正常,但我认为它正在赶上验证。

对于照片,我有这个:

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

效果很好,但是用视频保存一些东西会产生:

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

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

4

1 回答 1

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为图像的方法可能不准确。

于 2013-03-12T18:35:40.133 回答