Rendu jQuery dans wicked_pdf
-
25-10-2019 - |
Question
J'utilise Highcharts dans mon application pour rendre les cartes. Tout fonctionne très bien, sauf quand je veux convertir une page qui a des graphiques au format PDF. J'utilise wicked_pdf . Voici la méthode show mon contrôleur:
format.pdf do
render :pdf => "report",
:template => "/quarters/report.pdf.erb",
end
Mon fichier /quarters/report.pdf.erb ressemble comme il le fait dans mon show.html.erb pour Highcharts:
<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>
Et dans ma page show est ce lien pour télécharger le fichier PDF:
<%= link_to 'PDF', { :action => "show", :format => :pdf } %> |
Le problème est que le tableau ne rend pas, il est juste vide. Je sais de que vous êtes censé appeler le « wicked_pdf_javascript_include_tag », mais il me donne une erreur de « non défini procédé `javascript_src_tag '. »
Toutes les pensées?
La solution
On dirait javascript_src_tag est parti dans Rails 3.1: http://apidock.com/rails/ActionView/Helpers/AssetTagHelper/javascript_src_tag
Vous pouvez remplacer votre appel à wicked_pdf_javascript_include_tag avec quelque chose comme ceci:
<script type="text/javascript" src="file://#{Rails.root.join('public','javascripts','highcharts.js')}"></script>