1

我在我的 Rails 应用程序中使用 WickedPDF 来生成 PDF 文件。它在我的本地机器上运行良好。在生产中,我在日志中看到以下错误:

Started GET "/financieel/facturen/2.pdf" for 81.205.74.167 at 2012-09-19 14:58:37 +0200
  Processing by InvoicesController#show as PDF
  Parameters: {"id"=>"2"}
***************WICKED***************
Rendered invoices/show.pdf.haml (6.9ms)
Completed 500 Internal Server Error in 38ms

NoMethodError (undefined method `chomp' for nil:NilClass):
  app/controllers/invoices_controller.rb:22:in `block (2 levels) in show'
  app/controllers/invoices_controller.rb:17:in `show'

在 invoices_controller.rb 中没有什么异常:

format.pdf do
  render pdf: 'factuur'
end
4

1 回答 1

1

wicked_pdf 试图猜测您的 wkhtmltopdf 二进制文件在哪里的这条线可能会导致您的麻烦:https ://github.com/mileszs/wicked_pdf/blob/master/lib/wicked_pdf.rb#L207

如果 wkhtmltopdf 实际安装在服务器上,最好的办法可能是在初始化程序中专门设置 wkhtmltopdf 的路径,如下所示:

# config/initializers/wicked_pdf.rb
WickedPdf.config = { :exe_path => '/opt/bin/wkthmltopdf' } # or wherever it actually is
于 2012-09-19T14:58:31.970 回答