5 ruby-on-rails file download link-to ruby-on-rails-5
我希望用户能够从我在控制器中设置的方法下载文件。此外,当用户下载文件时,我不希望 URL 在我的浏览器中更改。我设置了这个链接
<%= link_to image_tag("cc_icon.png"), scenario_download_cc_path(subscription.scenario), target: '_blank' %>
Run Code Online (Sandbox Code Playgroud)
问题是,当生成新选项卡以生成下载时,屏幕会闪烁。这在视觉上看起来不吸引人。我已经看到其他网站,您单击链接后会立即开始下载某些内容。我怎么做?
编辑: 这是链接调用的函数
def download_cc
scenario = Scenario.find(params[:scenario_id])
send_data scenario.cc_data, filename: "#{scenario.title}.imscc", type: 'application/zip', :disposition => 'attachment'
end
Run Code Online (Sandbox Code Playgroud)
我做了一些本地测试,我的假设是Turbolinks 把事情搞砸了。我建议您target: '_blank'从链接中删除并添加data: { turbolinks: false }选择退出此特定链接的 Turbolinks。更改后的代码应如下所示:
<%= link_to image_tag("cc_icon.png"), scenario_download_cc_path(subscription.scenario), data: { turbolinks: false } %>
Run Code Online (Sandbox Code Playgroud)
您的控制器操作看起来不错,无需更改。
| 归档时间: |
|
| 查看次数: |
738 次 |
| 最近记录: |