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 に答える