我正在使用Rails 3回形针,并允许用户将附件上传到附件模型 .
如果文件是图像,则应用会生成图像预览 . 如果文件不是,则仅上传文件(无图像预览) .
现在我想显示数据库中所有附件的列表 . 所以我使用attachment.attachment(:large),它适用于图像附件,但非图像附件的错误(显然) .
什么是检查它是否是图像附件的好方法?如果没有,我想显示一个标准的静态图像 . 有什么建议?谢谢
这就是我在观点中所做的:
<% if !(@attachment.attachment.content_type =~ /^image/).nil? %> <%= image_tag @attachment.attachment.url(:small) %> <%end%>
这假设你的模型是附件,我的文件,我称之为附件 .
所以你可以这样做:
<% if !(@attachment.attachment.content_type =~ /^image/).nil? %> <%= image_tag @attachment.attachment.url(:small) %> <%else%> <%= image_tag "/path/to/image/default.png" %> <%end%>
检查 attachment.attachment.attachment_content_type
attachment.attachment.attachment_content_type
例如,它可能是:“image / jpeg”
您可以创建一个迁移,将类型为string的attachment_content_type字段添加到附件表中 . 创建附件时,回形针会在该字段中存储文件的类型 . 然后,您可以检查文件类型是否类似于“image / jpeg” .
也许你可以使用 default_url 选项?如果真实的缩略图不存在,则会显示 .
default_url
http://www.suffix.be/blog/default-image-paperclp
4 回答
这就是我在观点中所做的:
这假设你的模型是附件,我的文件,我称之为附件 .
所以你可以这样做:
检查
attachment.attachment.attachment_content_type
例如,它可能是:“image / jpeg”
您可以创建一个迁移,将类型为string的attachment_content_type字段添加到附件表中 . 创建附件时,回形针会在该字段中存储文件的类型 . 然后,您可以检查文件类型是否类似于“image / jpeg” .
也许你可以使用
default_url
选项?如果真实的缩略图不存在,则会显示 .http://www.suffix.be/blog/default-image-paperclp