Ruby on rails 如何在rails中对给定操作执行渲染和重定向
我正在rails中开发一个应用程序,该应用程序需要以下内容:Ruby on rails 如何在rails中对给定操作执行渲染和重定向,ruby-on-rails,ruby-on-rails-4,prawn,prawnto,Ruby On Rails,Ruby On Rails 4,Prawn,Prawnto,我正在rails中开发一个应用程序,该应用程序需要以下内容: 单击按钮应首先下载pdf文件(渲染部分)并 然后重定向到显示页面(重定向到零件) 我在网上搜索发现,对于给定的操作,不可能同时渲染和重定向,有什么方法可以解决这个问题吗?使用渲染发送数据,因此在控制器中无法执行任何操作 为此,您必须使用javascript: 单击按钮时创建iframe。(这将保留您的下载过程) 在iframe的close事件上重定向页面 您也可以使用后台作业进行下载操作,但我还没有使用它。您可以将用户发送到结果页,并
我在网上搜索发现,对于给定的操作,不可能同时渲染和重定向,有什么方法可以解决这个问题吗?
使用渲染发送数据,因此在控制器中无法执行任何操作
为此,您必须使用javascript:
单击按钮时创建iframe。(这将保留您的下载过程)
在iframe的close事件上重定向页面
您也可以使用后台作业进行下载操作,但我还没有使用它。您可以将用户发送到结果页,并添加元标记,以便在x秒后将用户重定向到下载
<meta http-equiv="refresh" content="5; url=http://path_to/your/download.zip"/>
这是你在许多网站上看到的方法,例如sourceforge.net(你的下载将在x秒后开始…你可以使用两个函数,一个用于渲染,另一个用于重定向。这是一种不好的方法,但是你可以使用如果(某件)渲染,则重定向到这东西更好地使用响应你要做的事| format | format.html{重定向到…}format.json{render@users}end
这不仅仅是rails的限制-对于单个http请求,只能有一个响应iframe的关闭事件是什么意思?