Rails:wicked_pdf" file_name"选项

时间:2015-02-20 22:39:30

标签: ruby-on-rails pdf-generation

我让wicked_pdf正常工作,但其中一个渲染选项是file_name,据我所知,它对PDF渲染没有任何影响。有人可以向我解释这是为了什么吗?

class ThingsController < ApplicationController
  def show
    respond_to do |format|
      format.html
      format.pdf do
        render :pdf => "file_name"
      end
    end
  end
end

1 个答案:

答案 0 :(得分:1)

最终passed to Rails&#39; filename选项的send_data方法,其中:

  

:filename - 建议浏览器使用的文件名。

所以当你说:

format.pdf { render pdf: 'the_answer' }

变成:

send_data(pdf_content, :filename => 'the_answer.pdf',..

send_data方法使用此方法(带有其他选项)在响应中设置Content-Disposition标头。如果您检查回复(例如在Chrome的开发人员工具中),您会看到:

Content-Disposition:inline; filename="the_answer.pdf"

浏览器如何实现这一点最终取决于它,但在Chrome中,您可以通过右键单击PDF并单击“另存为...”来查看它。

save file dialog

注意: :pdf密钥的存在为used to decide whether wicked_pdf should handle it,因此如果您希望使用此render帮助,则必须指定。