Rails: wicked_pdf "file_name" 选项

Rails: wicked_pdf "file_name" option

我得到 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

最终是passed to Rails' send_data方法作为filename选项,即:

:filename - suggests a filename for the browser to use.

所以当你说:

format.pdf { render pdf: 'the_answer' }

变成:

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


send_data 方法使用此方法(与其他选项一起)在响应中设置 Content-Disposition header。如果您检查响应(例如在 Chrome 的开发者工具中),您将看到:

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

浏览器如何实现它最终取决于它,但在 Chrome 中,您可以通过右键单击 PDF 并单击 'Save as...'

来查看它


注意::pdf键的存在是used to decide whether wicked_pdf should handle it,所以如果你想使用这个render必须指定帮手。