1

実稼働サーバーで wicked_pdf に問題があります。_results.pdf.haml にそのようなコードがあります。

#container

= wicked_pdf_javascript_include_tag "pdf_application"
:javascript
  $(document).ready(function(){drawPDFCharts(#{generate_javascript_for_pdf_generator(@poll.answer_count_per_question)}, "container")});

ここにpdf_application.jsがあります

//= require jquery
//= require highcharts
//= require poll-pdf-chart-generation.js.coffee

ローカルマシンとステージングでは問題ありませんが、本番環境ではエラーが発生します:

Started GET "/121-consumer-electronics.pdf" for 94.76.74.170 at 2013-01-16 13:52:53 +0000
Processing by PollsController#show as PDF
  Parameters: {"id"=>"121-consumer-electronics"}
***************WICKED***************
  Rendered polls/_results.pdf.haml (145.7ms)
Completed 500 Internal Server Error in 816ms

ActionView::Template::Error (pdf_application.js isn't precompiled):
    8: 
    9: #container
    10: 
    11: = wicked_pdf_javascript_include_tag "pdf_application"
    12: :javascript
    13:   $(document).ready(function(){drawPDFCharts(#{generate_javascript_for_pdf_generator(@poll.answer_count_per_question)}, "container")});

ここに私の production.rb があります:

# Disable Rails's static asset server (Apache or nginx will already do this)
config.serve_static_assets = true

# Compress JavaScripts and CSS
config.assets.compress = true

# Don't fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = false

# Generate digests for assets URLs
config.assets.digest = true

ここで同様の質問をいくつか見ました。このファイルを追加して配列をプリコンパイルし、サーバーを再起動しようとしましたが、役に立ちませんでした。私が得たように、ローカルマシンでアセットをコンパイルしていますが、本番環境ではコンパイルしていません。実行しようとすると、どういうわけかこのファイルがプリコンパイルされていません...

4

2 に答える 2

0

使用したい JavaScript コードが含まれているファイルはどれですか? poll-pdf-chart-generation.js.coffee ですか?

邪悪なpdfがコーヒーファイルを使用できるかどうかはわかりませんが、間違っている場合は誰かが修正してください.

回避策は、poll-pdf-chart-generation.js.coffee を js ファイルに変換して、それを production.rb に追加することだと思います。

config.assets.precompile += ['poll-pdf-chart-generation.js']

参照:アセット パイプラインに関する Rails ガイド

wickedpdf の include タグを変更して、プリコンパイルされた js アセットを確認します。

wicked_pdf_javascript_include_tag "poll-pdf-chart-generation"

また、アセットをプリコンパイルする必要があります。

bundle exec rake assets:precompile
于 2013-03-25T05:12:04.150 に答える
0

.js ファイルが変更され、再コンパイルされていないようです。Rails 3 は、js、css、およびスタイルシートを 1 つのファイルにコンパイルして、ブラウザーに一度送信します。assets ディレクトリ内の何かが変更された場合、全体を再コンパイルする必要があります。試す

bundle exec rake assets:precompile

幸運を

ボブ

于 2013-03-12T05:26:40.960 に答える