Zip несколько PDF-файлов, используя драгоценный камень Prawn с Ruby on Rails - PullRequest
0 голосов
/ 12 июня 2019

Я пытаюсь сгенерировать 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")
...