我正在使用Rails 3回形针,并允许用户将附件上传到附件模型。
如果文件是图片,则该应用会生成图片预览。如果文件不是,则仅上传文件(无图像预览)。
现在我想显示数据库中所有附件的列表。所以我使用attachment.attachment(:large),它适用于图像附件,但非图像附件的错误(显然)。
检查图片附件是否合适的好方法是什么?如果没有,我想显示一个标准的静态图像。有什么建议?感谢
答案 0 :(得分:6)
这就是我在观点中所做的:
<% 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%>
答案 1 :(得分:3)
检查attachment.attachment.attachment_content_type
例如,它可能是:“image / jpeg”
答案 2 :(得分:0)
也许您可以使用default_url
选项?如果真实的缩略图不存在,则会显示。
答案 3 :(得分:0)
您可以创建一个迁移,将类型为string的attachment_content_type字段添加到附件表中。创建附件时,回形针会在该字段中存储文件的类型。然后,您可以检查文件类型是否类似于“image / jpeg”。