我让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
答案 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并单击“另存为...”来查看它。
注意: :pdf
密钥的存在为used to decide whether wicked_pdf should handle it,因此如果您希望使用此render
帮助,则必须指定。