如何使用单个回形针字段来处理不同的文件类型.例如,我有一个带有回形针方法的文件模型,该方法说:
has_attached_file :file
如果它是一张图片,我怎样才能使has_attached_file:文件能够以这种方式处理图片:
has_attached_file :file,styles: {thumb: "72x72#"}
然后,如果它是其他文档类型,它将在没有样式的情况下正常工作,因此我不必为不同的文件类型创建字段.
解决方法
处理条件样式的方法是使用
lambda
来确定您正在处理的内容类型.我们之前使用早期版本的Rails / Paperclip完成了这项工作:
#app/models/attachment.rb Class Attachment < ActiveRecord::Base has_attached_file :file,styles: lambda { |a| a.instance.is_image? ? {:small => "x200>",:medium => "x300>",:large => "x400>"} : {}} validates_attachment_content_type :file,:content_type => [/\aimage\/.*\Z/,/\Avideo\/.*\Z/] private def is_image? attachment.instance.attachment_content_type =~ %r(image) end end
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。