IM上的应用程序工作在轨定的行动,需要以下条件:如何执行这两种渲染和重定向在轨
- 点击一个按钮应该先下载一个PDF文件(渲染部分)和
- 然后重定向到一个显示页面(redirect_to的部分)
我已经在网上搜索,发现这是不可能的渲染,并在同一时间给定动作重定向,是没有解决这个办法问题 ?
IM上的应用程序工作在轨定的行动,需要以下条件:如何执行这两种渲染和重定向在轨
我已经在网上搜索,发现这是不可能的渲染,并在同一时间给定动作重定向,是没有解决这个办法问题 ?
send_data
使用渲染,所以你不能在你的控制器之后做任何事情。
要做到这一点,你必须使用JavaScript:
创建按钮点击一个iframe中。 (这持有你的下载过程)。
在iframe关闭事件上重定向页面。
您也可以使用后台作业进行下载操作,但我还没有使用它。
您可以将用户发送到结果页面并添加元标记,以在x秒后将用户重定向到下载。
<meta http-equiv="refresh" content="5; url=http://path_to/your/download.zip"/>
这是您在很多网站上看到的方法,例如sourceforge.net(你的下载将在x秒后开始...)
你可以使用两个函数,1渲染和另一个重定向 – 2014-09-02 07:04:24
这是一个坏方法,但你可以使用'if(something)render else redirect_to'这个东西更好用'respond_to do | format | format.html {redirect_to ...} format.json {render @users} end' – 2014-09-02 07:08:33
这不仅仅是一个rails限制 - 对于一个http请求,只能有一个响应 – 2014-09-02 07:10:53