我在生产服务器上遇到了 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
我不知道如何使它工作,我在这里看到了一些类似的问题,我尝试将此文件添加到预编译数组并重新启动服务器,但它没有帮助。当我得到我在本地机器上编译资产时,没有在生产中编译,并且当我尝试运行它时,这个文件没有被预编译......