我在实现下载方法时遇到了一个奇怪的问题。 它适用于大多数浏览器。但是当在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" %>
答案 0 :(得分:0)
由于它仅在Chrome中发生,可能是因为Chrome扩展程序可能会拦截下载。我环顾四周,似乎有一些扩展可以做到这一点。 Here's one。您是否有机会安装其中一个?
中间点击也可能会打开一个新标签,在这种情况下,下载会正常进行(某些扩展程序的评论会提及)。