快速摘要 - 使用wicked_pdf
gem生成PDF。生成PDF后,我想重定向到另一个页面。
我的代码
def show
@form = Form.find(params[:id])
respond_to do |format|
format.html
format.pdf do
render pdf: "MyFile",
template: 'forms/show.html.erb',
disposition: 'attachment',
locals: { f: @f },
layout: 'pdf.html'
end
end
end
问题 - 下载PDF后,我无法重定向到某个操作或呈现一个视图。
由于每个请求只能有一个HTTP响应,重定向和呈现的另一种方法是什么?
答案 0 :(得分:0)
一个hacky解决方案可能是在“Download pdf”锚标记上有一个onclick事件。在将用户带到另一个页面之前,javascript可以等待几秒钟(以下示例中为3)
setTimeout(function(){ window.location.href = "http://example.com/new_url" }, 3000);
Anchor event-propagation将立即开始pdf下载,浏览器将在3秒内加载new_url。