在一个请求中下载多个文件

时间:2012-07-11 03:11:36

标签: ruby-on-rails ruby ruby-on-rails-3

我不知道它是否可行,但我只想在一个请求中下载一组pdf

这是我下载特定发票的方式:

def show
   @invoice = Invoice.find_by_invoice_hash params[:hash]

  respond_to do |format|
    format.html
    format.xml do
      send_data File.read( @invoice.xml_path ), type: 'text/xml', filename: "invoice_#{ @invoice.id }.xml", disposition: 'attachment'
    end

    format.pdf do
      render :pdf   => @invoice.hash,
      layout: 'pdf',
      footer: {
        right: "printed at: #{Date.today}"
      }
    end
  end
end

你建议我做什么?

2 个答案:

答案 0 :(得分:0)

HTTP旨在一次只返回一个文件。您可以将文件压缩或压缩在一起并返回结果。

答案 1 :(得分:0)

HTTP并不关心您在一个响应中发送的内容。有关在rails中发送复杂响应数据,请参阅this answer