Rails 3.1: вывод текущих данных из will_paginate в PDF - PullRequest
2 голосов
/ 10 ноября 2011

Я работаю с рельсами уже несколько недель, когда у меня было время. Я пытаюсь создать вывод PDF из текущих данных моего приложения. Я использую креветку, которая работает нормально и will_paginate. Можно ли отправить текущие данные, которые отображаются на экране (например, выбранная страница), в вывод pdf?

index.html.erb * * 1004

<% @truckdeliveries.each do |truckdelivery| %>
 ...
<% end %>
<%= will_paginate @truckdeliveries %>
<%= link_to "PDF", truckdeliveries_path(@truckdelivery ,format: "pdf") %>

truckdeliveries_controller.rb

class TruckdeliveriesController < ApplicationController

def index
  @truckdeliveries = Truckdelivery.paginate page: params[:page], order: 'created_at desc',
  per_page: 10

  respond_to do |format|
    format.html # index.html.erb
    format.json { render json: @truckdeliveries }
    format.pdf do
      pdf = TruckdeliveryPdf.new(@truckdeliveries)
      send_data pdf.render, filename: "truckdelivery_.pdf",
                                    type: "application/pdf"
    end
  end
end
...

Это работает нормально, но показывает только данные для первой страницы и не меняется, если я переключаюсь на другую страницу. Я попытался изменить link_to на @truckdeliveries, но это создает только одну загадочную ссылку.

Я попробовал Google, но у меня все еще проблемы с использованием правильных модных слов. Так что любые предложения будут очень признательны!

1 Ответ

3 голосов
/ 10 ноября 2011

Мне кажется, что причина состоит в том, что она печатает только первую страницу, потому что ваша PDF-ссылка не включает параметр страницы.Попробуйте вместо этого.

<%= link_to "PDF", truckdeliveries_path(:format => "pdf", :page => params[:page]) %>
...