17

heroku に wicked_pdf を統合するためにこのガイドを使用しています。しかし、どういうわけかそれはうまくいかないようです。heroku からログを取得したところ、次のように書かれています。

Processing PdfController#get_pdf to pdf (for 115.248.175.50 at 2011-02-15 23:54:44) [GET]
  Parameters: {"format"=>"pdf", "action"=>"get_pdf", "id"=>"1", "controller"=>"pdf"}
***************WICKED***************
Rendering pdf/get_pdf

RuntimeError (PDF could not be generated!
/usr/ruby1.8.7/lib/ruby/1.8/open3.rb:73:in `exec': No such file or directory - /app/fa369291-829b-4b61-9efe-b2f0d0a0a42c/home/bin/wkhtmltopdf-amd64       - -  (Errno::ENOENT)
    from /usr/ruby1.8.7/lib/ruby/1.8/open3.rb:73:in `popen3'
    from /usr/ruby1.8.7/lib/ruby/1.8/open3.rb:59:in `fork'
    from /usr/ruby1.8.7/lib/ruby/1.8/open3.rb:59:in `popen3'
    from /usr/ruby1.8.7/lib/ruby/1.8/open3.rb:57:in `fork'
    from /usr/ruby1.8.7/lib/ruby/1.8/open3.rb:57:in `popen3'
    from /app/fa369291-829b-4b61-9efe-b2f0d0a0a42c/home/vendor/plugins/wicked_pdf/lib/wicked_pdf.rb:22:in `pdf_from_string'
    from /app/fa369291-829b-4b61-9efe-b2f0d0a0a42c/home/vendor/plugins/wicked_pdf/lib/pdf_helper.rb:28:in `make_pdf'
    from /app/fa369291-829b-4b61-9efe-b2f0d0a0a42c/home/vendor/plugins/wicked_pdf/lib/pdf_helper.rb:39:in `make_and_send_pdf'
    from /app/fa369291-829b-4b61-9efe-b2f0d0a0a42c/home/vendor/plugins/wicked_pdf/lib/pdf_helper.rb:13:in `render'
    from /app/fa369291-829b-4b61-9efe-b2f0d0a0a42c/home/app/controllers/schedule_controller.rb:33:in `get_pdf'

助けてください。前もって感謝します。

編集:

コードにいくつかの変更を加え、このエラーを回避しましたが、まだここでスタックしています

NoMethodError (undefined method empty? for #<Pathname:0x2b7112392480>)

4

4 に答える 4

6

「未定義のメソッドが空ですか?」という編集部分を見た後#<Pathname:0x2b...>

これは、どこかで空を使用していることを意味しますか?パスオブジェクトで機能しますが、空ですか?は文字列の関数であり、パスではありません。

パスObjectを使用した場所を見つけて、そのオブジェクトでto_sを使用してみてください。

やってみよう。

于 2011-02-24T09:07:57.710 に答える
3

wkhtmltopdf のローカル コピーをリポジトリに追加すると、イニシャライザで次のように指定できます。

PDFKit.configure do |config|
config.wkhtmltopdf = "#{RAILS_ROOT}/lib/wkhtmltopdf"
end

chmod +x する前に、レポの wkhtmltopdf コピーを忘れないでください - git add it

お役に立てれば。

于 2011-02-24T00:18:19.790 に答える
0

で wicked_pdf バイナリを探しています:/app/fa369291-829b-4b61-9efe-b2f0d0a0a42c/home/bin/wkhtmltopdf-amd64

そこにない場合は、アプリケーション内のフォルダーにバイナリを配置し、ファイルを変更しconfig/initializers/wicked_pdf.rbて次を含めます。

:exe_path => "#{Rails.root}/path/to/wkhtmltopdf-amd64"

wicked_pdf がファイルを作成する場合に発生する可能性のあるもう 1 つの問題は、Heroku ファイルシステムが読み取り専用であるという事実です。そのため、wicked_pdf に tmp ディレクトリに pdf を作成するように指示する方法を見つけない限り、それを使用できない可能性があります。

于 2011-02-16T09:10:35.380 に答える