Ros*_*s R 3 ruby-on-rails file
因此,我尝试在用户在我的页面上完成购买后触发下载。我正在使用send_file它,但在文件发送后我的结帐页面永远不会呈现。如果我尝试显式渲染结果页面,则会收到 DoubleRender 错误。
所以我不知道正确的做法是:我有一个名为 getapk.erb 的页面,并且在其控制器中有 getfile 代码。
如何呈现页面并将文件发送给用户?
当您“发送文件”时,它本身就是一个渲染。因此,显示“成功”页面和发送文件是两个单独的渲染。
我将使成功页面和文件下载成为两个单独的控制器操作,并在成功页面上显示指向文件下载的链接。
例如
def success
#show html page with file download link
end
def file_download
send_file #make sure you have :inline => false
end
Run Code Online (Sandbox Code Playgroud)
然后你可以使用 javascript 使其看起来它们同时渲染。
在 success.erb 的底部放置类似这样的内容,以便在成功页面呈现时自动弹出下载对话框。
<script language="JavaScript">
window.location=<%=url_for :action=>"file_download", :id => 'etc' %>;
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1963 次 |
| 最近记录: |