如何使用Dragonfly和Rails创建指向非图像文件(如word或excel文件)的链接?

时间:2014-07-29 02:44:45

标签: ruby-on-rails dragonfly-gem

我有一个可以上传多种类型文件的rails应用程序,现在我正在尝试创建一个向用户显示数据的页面。

我认为我有这个片段:

<% @case.documents.each do |doc| %>
  <% if doc.is_image? %>
    <%= image_tag doc.document.url  %>
  <% else %>
    <%= link_to doc.filename, doc.document.url, target: '_blank' %>
  <% end %>
<% end %>

为不是图像的文件生成这样的链接。

<a target="_blank" href="/media/W1siZiIsIjIwMTQvMDcvMjgvOHM3d21ubDBtc19maWxlIl1d?sha=0813902f">myFile.xlsx</a>

问题在于,由于href没有直接链接到具有显式扩展名的文件名,因此浏览器不确定如何处理该文件(至少我认为这就是为什么它没有&#39 ; t知道如何处理文件)。

如何链接这些已上传的文件,以便浏览器知道如何处理excel,word,pdf等文件。

1 个答案:

答案 0 :(得分:1)

最简单的方法是将document_name列添加到Document模型中 - 然后url将具有文件扩展名。

(虽然已经说过,但是内容类型应该正确设置,所以不确定为什么浏览器有问题)