ruby-on-rails - rails 3.1 : Output current data from will_paginate to PDF

标签 ruby-on-rails ruby-on-rails-3 will-paginate prawn

只要有时间,我已经使用 Rails 工作了几个星期了。我正在尝试创建应用程序当前显示的数据的 PDF 输出。我正在使用 prawn,它工作正常并且 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,但在使用正确的流行语方面仍然遇到困难。因此,任何建议将不胜感激!

最佳答案

在我看来,它只打印第一页的原因是因为您的 PDF 链接不包含页面参数。试试这个。

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

关于ruby-on-rails - rails 3.1 : Output current data from will_paginate to PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8078717/

相关文章:

ruby-on-rails - 将 will_paginate 与多个模型一起使用(Rails)

ruby-on-rails - Ruby on Rails will_pagination 一个数组

ruby-on-rails - 如何为 Rails Controller 添加延迟以进行测试?

ruby-on-rails-3 - Haml Bootstrap 搜索表单

javascript - sprockets::FileNotFound jquery.atwho

ruby-on-rails - Rails 4数据切换link_to

ruby - 为什么在事件记录范围内使用 lambda

ruby-on-rails - 如何从 Rails api-pagination gem 访问 React 中的响应 header

ruby-on-rails - 在 Ruby 中访问 JSON 对象

javascript - 尝试将 .js 文件添加到我的 Rails 应用程序时出现 ActionController::UnknownFormat