1

在我的 rails 3 应用程序中,我提供了一个 CSV 模板供用户下载。无需下载它,只需在新选项卡中打开文本。这是代码:

<a href="/templates/myFile.csv" target="_blank">click here</a>

这以前对我有用,我不确定会发生什么改变来破坏它。与此类似的其他问题建议添加target='_blank'或更改标题,但我没有太多运气这样做。

我不认为它应该有所作为,但这个链接是在一个模态的里面,他的身体来自这里:

<div class="modal hide" id="helpModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  <%= modal_header "Help" %>
   <div class="modal-body">
    <%= render 'help' %>
  </div>
  <div class="modal-footer">
    <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
  </div>
</div>
4

2 回答 2

5

您可以使用 send_file 方法:

def download_file(file_path)
   send_file(file_path, :type => 'text/csv', :disposition => "attachment")
end

您可以将此方法添加到控制器和路由中,然后在您的视图中使用它:

link_to "Download", download_file_path('some_file.csv')
于 2012-10-08T16:49:58.557 回答
0

target="_blank" 将在新选项卡中打开文件。但这取决于浏览器设置是否打开选项卡中的文件或询问是否要下载文件。

于 2012-10-08T16:02:41.107 回答