Ruby on Rails 3.2,我有一个按basename显示文件的表。我想在文件类型的名称旁边显示一个缩略图。因此,如果它是一个pdf文件,我会显示一个小图像,表明它是一个pdf文件。文件显示文件类型,但我想要一个图像,以便更容易挑选。
这是我的表格循环,仅显示文件名。如何根据文件类型添加图像?
<tbody>
<% @files.each do |file| %>
<tr>
<td><%= link_to File.basename(file).upcase, file[/\/.*/] %></td>
</tr>
<% end %>
</tbody>
这是正在查看的文件的一个示例。
ENGLISH_FACTSHEET2013_V3.PDF
我希望有宝石或其他东西。
答案 0 :(得分:1)
一个简单的方法可能是helper
,它使用一些正则表达式或一些简单的字符串比较来检查文件扩展名,然后根据类型创建image_tag
:
def extension_image(file_name)
if file_name.upcase.include?('.PDF')
image_tag 'pdf.png'
elsif file_name.upcase.include?('.JPG')
...
...
end
然后在你看来:
<td>
<%= extension_image(File.basename(file)) %>
<%= link_to File.basename(file).upcase, file[/\/.*/] %>
</td>
答案 1 :(得分:0)
尝试使用:
file.content_type
它应该返回类似“application / pdf”
的内容