在rails中实现下载方法时遇到错误

时间:2014-11-10 16:19:02

标签: ruby-on-rails ruby

我在实现下载方法时遇到了一个奇怪的问题。 它适用于大多数浏览器。但是当在chrome上测试它时,chrome会自动将url更改为:

https://docs.google.com/viewer?url=http%3A%2F%2Flocalhost%3A3000%2Fnew_admin%2Fquestion_sets%2F105%2Fexport.xls

应该是:

http://my.domain.whatever/new_admin/question_sets/105/export.xls.

奇怪的是,这个问题只发生在左侧链接之后。如果您中间点击该链接,它仍然有效。我无法弄清楚原因。

这是我的相对控制人员的代码:

respond_to do |format| 
  format.xls {send_data(to_xls(@question_set), :type=>:xls, :filename => "question_set_#{@question_set.id}.xls")}
end

这是按钮的haml代码:

<%= link_to "export",export_new_admin_question_set_path(:format => 'xls',:id => set.id),:class=>"delete",:target => "_blank" %>

1 个答案:

答案 0 :(得分:0)

由于它仅在Chrome中发生,可能是因为Chrome扩展程序可能会拦截下载。我环顾四周,似乎有一些扩展可以做到这一点。 Here's one。您是否有机会安装其中一个?

中间点击也可能会打开一个新标签,在这种情况下,下载会正常进行(某些扩展程序的评论会提及)。