Я пытаюсь сгенерировать zip-файл, который включает в себя несколько PDF-файлов, мой код каким-то образом генерирует ZIP-файлы и PDF-файлы, но когда я проверяю PDF-файл, каждый PDF-файл поврежден. Я не уверен, что я сделал не так. Любая помощь?
@invoices = Invoice.all
stringio = Zip::OutputStream.write_buffer do |zio|
@invoices.each do |invoice|
invoice_pdf = InvoicePdf.new(invoice)
invoice_pdf = invoice_pdf.render type: "application/pdf",
disposition: "inline", filename: "#{invoice.title}"
zio.put_next_entry("#{invoice.number}.pdf")
zio << invoice_pdf
end
end
stringio.rewind
binary_data = stringio.sysread
send_data(binary_data, :type => 'application/zip', :filename =>
"invoice.zip")