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
必须指定帮手。
我得到 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
必须指定帮手。