我正在使用 Rails 中的应用程序,需要以下内容:
- 单击按钮应首先下载 pdf 文件(渲染部分)和
- 然后重定向到显示页面(redirect_to 部分)
我在网上搜索过,发现对于给定的操作不可能同时呈现和重定向,有没有办法解决这个问题?
我正在使用 Rails 中的应用程序,需要以下内容:
我在网上搜索过,发现对于给定的操作不可能同时呈现和重定向,有没有办法解决这个问题?
您可以将用户发送到结果页面并添加元标记以在 x 秒后将用户重定向到下载。
<meta http-equiv="refresh" content="5; url=http://path_to/your/download.zip"/>
这是您在很多网站上看到的方法,例如 sourceforge.net(您的下载将在 x 秒后开始......)
send_data
使用渲染,所以你不能在控制器中做任何事情。
为此,您必须使用 javascript:
在按钮单击时创建一个 iframe。(这将保留您的下载过程)。
在 iframe 的关闭事件上重定向页面。
您也可以使用后台作业进行下载操作,但我还没有使用它。