Ruby on rails 回形针,图像和非图像文件使用相同字段

Ruby on rails 回形针,图像和非图像文件使用相同字段,ruby-on-rails,imagemagick,paperclip,Ruby On Rails,Imagemagick,Paperclip,我使用回形针来存储与模型相关的文件。根据描述,文件可以采用各种格式。我在模型中指定了以下内容: require 'paperclip' class Document < ActiveRecord::Base belongs_to :candidate attr_accessible :candidate_id, :description, :media has_attached_file :media, :styles => { :profile => "100

我使用回形针来存储与模型相关的文件。根据描述,文件可以采用各种格式。我在模型中指定了以下内容:

require 'paperclip'

class Document < ActiveRecord::Base
  belongs_to :candidate
  attr_accessible :candidate_id, :description, :media

  has_attached_file :media, :styles => { :profile => "100x100>" }

  validates_attachment_presence :media
  validates_attachment_size :media, :less_than => 3.megabytes
end
当我对文件运行identify命令时,我得到以下信息

$ identify  /tmp/stream20111020-2130-zeux3k-0.doc 
identify: no decode delegate for this image format `/tmp/stream20111020-2130-zeux3k-0.doc' @ error/constitute.c/ReadImage/532
回形针是否应该尝试调整word文档的大小


有什么我能做的吗

我仍然不知道为什么它以前能用,现在不行,但我找到了一个解决办法,为回形针提供了条件样式选项。就像下面

has_attached_file :media, :styles => lambda { |attachment| (attachment.instance.description == "Foto") ? { :profile => "100x100>" }  : [] }

我仍然希望更具体一些,并根据内容类型指定样式

这一款适合我,试试吧![[1]:后期处理前:图像?定义图像?!(数据内容类型=~/^image.*/).nil?结束
has_attached_file :media, :styles => lambda { |attachment| (attachment.instance.description == "Foto") ? { :profile => "100x100>" }  : [] }