Renderizar jQuery en wicked_pdf
-
25-10-2019 - |
Pregunta
Estoy usando HighCharts en mi aplicación para representar gráficos. Todo funciona bien, excepto cuando quiero convertir una página que tenga gráficos a PDF. Estoy usando wicked_pdf. Aquí está el método de espectáculo mi controlador:
format.pdf do
render :pdf => "report",
:template => "/quarters/report.pdf.erb",
end
My /quarters/report.pdf.erb El archivo parece que lo hace en mi show.html.erb para 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>
Y en mi página de show, este es un enlace para descargar el archivo PDF:
<%= link_to 'PDF', { :action => "show", :format => :pdf } %> |
El problema es que el gráfico no se vuelve, está en blanco. Lo sé de aquí que se supone que debe llamar al "wicked_pdf_javascript_include_tag", pero me da un error de "método indefinido` javascript_src_tag '".
¿Alguna idea?
Solución
Parece que JavaScript_src_tag se fue en Rails 3.1:http://apidock.com/rails/actionview/helpers/assettaghelper/javascript_src_tag
Puede reemplazar su llamada a wicked_pdf_javascript_include_tag con algo como esto:
<script type="text/javascript" src="file://#{Rails.root.join('public','javascripts','highcharts.js')}"></script>