8

如果有人有兴趣将 PDF 文件保存在 PDFKit 中间件 gem 显示的文件系统中,那么这里就是...

  1. 覆盖callmiddleware.rb 文件的方法。
  2. 在覆盖只是替换这一行:

    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 响应,也可以覆盖 response-body 和 content-type。如果您有任何进一步的疑问,请继续。

这个过程真的很有帮助,因为当你的视图文件中有大量的 JavaScript 和 CSS 时,render_to_string方法将不起作用,即它不会渲染大量的 JavaScript。

4

1 回答 1

3

如果有人有兴趣将 PDF 文件保存在 PDFKit 中间件 gem 显示的文件系统中,那么这里就是...

  1. 覆盖callmiddleware.rb 文件的方法。
  2. 在覆盖只是替换这一行:

    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 响应,也可以覆盖 response-body 和 content-type。如果您有任何进一步的疑问,请继续。

这个过程真的很有帮助,因为当你的视图文件中有大量的 JavaScript 和 CSS 时,render_to_string方法将不起作用,即它不会渲染大量的 JavaScript。

于 2013-08-01T17:08:52.653 回答