如何在rails中为给定的Action执行Render和Redirect

时间:2014-09-02 07:02:00

标签: ruby-on-rails ruby-on-rails-4 prawn prawnto

我正在开发一个需要以下内容的应用程序:

  1. 点击按钮应首先下载pdf文件(渲染部分)和
  2. 然后重定向到展示页面(redirect_to part)
  3. 我在网上搜索过,发现无法针对特定操作同时呈现和重定向,是否有解决此问题的方法?

2 个答案:

答案 0 :(得分:0)

send_data使用渲染,因此您无法在控制器中执行任何操作。

要做到这一点,你必须使用javascript:

  1. 点击按钮创建iframe。 (保存下载过程)。

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

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

答案 1 :(得分:0)

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

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

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