Недавно я узнал, что я не могу загрузить более 1 файла с одним HTTP-запросом в ruby on rails, за исключением того, что я делаю это с помощью запроса AJAX. Сейчас я пытаюсь понять, как это сделать.
(Я использую Prawn в качестве создателя PDF с Ruby on 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);
Когда я нажимаю "#mydownload" через несколько секунд, потраченных на рендеринг PDF-файла, я получаю успешное окно предупреждения с внутренними данными, я думаю, всего PDF-файла.
Вопрос: как преобразовать данные в файл pdf и автоматически загрузить его?