如果有人有興趣節省在由PDFKit中間件寶石所示的文件系統中的PDF文件,然後這裏是......保存PDF文件
- 覆蓋中間件的
call
方法。 rb文件。 在覆蓋只需更換這行:
body = PDFKit.new(translate_paths(body, env), @options).to_pdf
與
pdf = PDFKit.new(translate_paths(body, env), @options) file = pdf.to_file('Your/file/name/path') Mymodel.my_method() #You can write your method here to use that file body = pdf.to_pdf #Here you can change the response body
您也可以覆蓋響應的身體和內容類型,如果你不希望給PDF響應。如果您有任何進一步的查詢,然後繼續。
這個過程真的很有幫助,因爲當你的視圖文件中有一個JavaScript很重的CSS時,render_to_string
方法將不起作用,即它不會渲染沉重的JavaScript。
我可能會更好地發佈這個問題的形式,然後回答並接受你自己的問題。這現在被永久列爲未答覆的問題。 – 2013-06-25 21:49:41
只是另一個有趣的提醒,請將您的編輯轉換爲答案:) – Ryan 2013-07-18 01:35:01
我編輯了問題的一部分,並將其添加爲答案。 – 2013-08-01 17:10:24