我最近了解到,我在Ruby中的单个HTTP请求下载了超过1个文件,除非我使用Ajax请求进行此操作。我现在试图弄清楚如何做到这一点。
(我正在使用大虾作为PDF创造者,带有Ruby在Rails 3)我的控制器中有一个渲染PDF并使用send_data
的操作def download_quote
pdf = QuotesPdf.new(params)
send_data pdf.render, filename: "foo.pdf",
type: "application/pdf",
disposition: "download"
end
然后,我的HTML视图中有一个按钮,该按钮具有此工作JScript代码
// AJAX, download
function ajaxRequest(){
$.ajax({
type: 'POST',
url: '/download_quote/126',
success: function(data){
alert(data);
}
});
return false;
}
$("#mydownload").click(ajaxRequest);
渲染PDF几秒钟后单击" #mydownload"时,我认为,我认为所有PDF文件都会获得一个带有内部数据的警报。
问题是:如何在PDF文件中转换数据并自动下载?
我不认为"下载"是有效的内容处置类型。尝试使用"附件"。
内容处置
def download_quote
pdf = QuotesPdf.new(params)
send_data pdf.render, filename: "foo.pdf",
type: "application/pdf",
disposition: "attachment"
end