Rails:send_file永远不会呈现页面或DoubleRender错误

所以我试图在购买PayPal后触发下载。 所以我做的第一种方法是将任何错误重定向到错误页面。 除了在发送罚款后永远不会呈现结果页面之外,这一切都有效。 如果我尝试显式渲染页面,我会得到DoubleRender错误。

所以我对失去的正确事情感到失望:

我有一个名为getapk.erb的页面,并在其控制器中包含getfile代码。 如果我遇到错误,我会重定向到pperror.erb

所以我没有重定向到错误页面,而是在页面上的if?

当你’send_file’这是一个自己的渲染。 因此,显示“成功”页面并发送文件是两个单独的渲染。

我会使成功页面和文件下载两个单独的控制器操作,并在成功页面上显示文件下载的链接。

例如

def success #show html page with file download link end def file_download send_file #make sure you have :inline => false end 

然后你可以使用javascript使它们看起来同时呈现两者。

在您成功的底部.erb将这样的事情放在成功页面的渲染上自动调出下载对话框。