我遇到的可能是一个简单的问题,但对此却有些挣扎。我的控制器中有一个操作,当在视图中单击按钮时,该操作会下载pdf。下载PDF,但问题是单击它后,操作仍然保留在浏览器中,并在每次重新加载页面时下载PDF。
URL示例
在我点击按钮之前
https://matrix-spam-camp.c9users.io
单击按钮后,它将保留在URL中,直到从浏览器中手动将其删除为止。
https://matrix-spam-camp.c9users.io/download_pdf
/app/app/views/portfolio/main.html.erb(链接)
<%= link_to download_pdf_path, class: 'download-btn', remote: true do %>
<%= image_tag('img_btn_icon.png') %> <span class='resume-btn-text'>Resume</span>
<% end %>
/app/app/controllers/portfolio_controller.rb
def download_pdf
send_file "#{Rails.root}/app/assets/docs/resume.pdf", type: "application/pdf", x_sendfile: true
end
/app/config/routes.rb
get 'download_pdf', to: "portfolio#download_pdf"
在此问题上的任何帮助将不胜感激。
答案 0 :(得分:0)
所以我能够通过在target: _blank
上添加link_to
来解决此问题。
<%= link_to :download, class: 'download-btn', target: "_blank" do %>
<%= image_tag('img_btn_icon.png') %> <span class='resume-btn-text'>Resume</span>
<% end %>
这可防止下载按钮将link_to
所调用的控制器动作的名称应用到浏览器URL中。