1

我正在使用 Rails 中的应用程序,需要以下内容:

  1. 单击按钮应首先下载 pdf 文件(渲染部分)和
  2. 然后重定向到显示页面(redirect_to 部分)

我在网上搜索过,发现对于给定的操作不可能同时呈现和重定向,有没有办法解决这个问题?

4

2 回答 2

1

您可以将用户发送到结果页面并添加元标记以在 x 秒后将用户重定向到下载。

<meta http-equiv="refresh" content="5; url=http://path_to/your/download.zip"/>

这是您在很多网站上看到的方法,例如 sourceforge.net(您的下载将在 x 秒后开始......)

于 2014-09-03T06:46:46.420 回答
0

send_data使用渲染,所以你不能在控制器中做任何事情。

为此,您必须使用 javascript:

  1. 在按钮单击时创建一个 iframe。(这将保留您的下载过程)。

  2. 在 iframe 的关闭事件上重定向页面。

您也可以使用后台作业进行下载操作,但我还没有使用它。

于 2014-09-02T07:28:06.487 回答