アプリケーションでHighchartsを使用してグラフをレンダリングしています。グラフのあるページをPDFに変換する場合を除いて、すべて正常に機能します。私はwicked_pdfを使用しています。これが私のコントローラーのshowメソッドです。
format.pdf do
render :pdf => "report",
:template => "/quarters/report.pdf.erb",
end
私の/quarters/report.pdf.erbファイルは、highchartsのshow.html.erbのように見えます。
<div id="testcollections" style="width: 600px;"></div>
<!-- jQuery for testing collections charts -->
<script type="text/javascript" charset="utf-8">
$(function () {
new Highcharts.Chart({
chart: { renderTo: 'testcollections' },
title: { text: 'Test Collections' },
plotOptions: {
series: {
dataLabels: {
enabled: true,
formatter: function() {
return this.y;
}
}
}
},
series: [{
name: 'Collections',
type: 'area',
color: '#5b81b4',
data: <%= Quarter.where('quarters.client_id=?', @quarter.client_id).map(&:collections) %>
},
{
name:'Average Collections',
type: 'area',
color: '#999',
data: <%= Quarter.includes(:client).group('clients.specialty', 'quarters.year', 'quarters.quarter')
.average('quarters.collections').values.map(&:to_f).to_json %>
}]
});
});
</script>
そして私のショーページでは、これはPDFファイルをダウンロードするためのリンクです:
<%= link_to 'PDF', { :action => "show", :format => :pdf } %> |
問題は、チャートがレンダリングされず、空白になっていることです。ここから、「wicked_pdf_javascript_include_tag」を呼び出すことになっていることがわかりますが、「undefined method`javascript_src_tag'」というエラーが表示されます。
何かご意見は?