Рендеринг jQuery в wicked_pdf - PullRequest
       33

Рендеринг jQuery в wicked_pdf

2 голосов
/ 30 ноября 2011

Я использую Highcharts в своем приложении для отображения графиков. Все работает отлично, за исключением случаев, когда я хочу преобразовать страницу с диаграммами в PDF. Я использую wicked_pdf . Вот метод показа моего контроллера:

 format.pdf do
          render :pdf => "report",
                 :template => "/quarters/report.pdf.erb",
  end

Мой файл /quarters/report.pdf.erb выглядит так же, как в моем 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", но это дает мне ошибку "неопределенного метода` javascript_src_tag '".

Есть мысли?

1 Ответ

2 голосов
/ 02 декабря 2011

Похоже, что javascript_src_tag пропал в Rails 3.1: http://apidock.com/rails/ActionView/Helpers/AssetTagHelper/javascript_src_tag

Вы можете заменить ваш вызов wicked_pdf_javascript_include_tag примерно так:

<script type="text/javascript" src="file://#{Rails.root.join('public','javascripts','highcharts.js')}"></script>
...