Я работаю с рельсами в течение нескольких недель, когда бывал у меня. Я пытаюсь создать PDF-вывод текущих данных моего приложения. Я использую креветку, которая работает нормально и будет_пагината. Возможно ли отправить текущие данные, которые отображаются на экране (например, выбранная страница), в выход pdf?Рельсы 3.1: Данные выходного тока из will_paginate в PDF
index.html.erb
:
<% @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, но у меня все еще возникают проблемы с использованием правильных слов. Поэтому любые предложения были бы очень оценены!
Hi, ty очень много. Это сделал трюк! Раньше я это пробовал, но, конечно же, поставил эту часть не в круглые скобки. Мне пришлось немного изменить «truckdeliveries_controller.rb» и добавить для pdf строку «@truckdeliveries = truckdelivery.limit (10) .offset (params [: offset] .to_i) .order (« created_at desc ») 'bcause переменная с разбивкой по страницам, похоже, не доставляла правильные значения. – Christian