2011-11-10 9 views
2

私は時間があればいつでも、数週間はレールで作業してきました。私は自分のアプリケーションの現在表示されているデータのPDF出力を作成しようとしています。私はうまく働いているとprawnを使用しています。画面に表示されている現在のデータ(たとえば選択したページ)をpdf出力に送ることはできますか?Rails 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に変更しようとしましたが、それは1つの潜在的なリンクしか作成しません。

私はgoogleを試みましたが、私はまだ適切なバズ語を使用することに問題があります。だから、どんな提案も非常に高く評価されるでしょう!

答えて

3

あなたのPDFリンクにページパラメータが含まれていないため、最初のページを印刷するだけの理由があります。代わりにこれを試してください。

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

こんにちは。それはトリックでした!私は前にそれを試しましたが、もちろんその部分をかっこに入れませんでした。私は 'truckdeliveries_controller.rb'を少し変更し、pdfの行に '@truckdeliveries = truckdelivery.limit(10).offset(params [:offset] .to_i).order( "created_at desc")' bcauseを追加する必要がありました改ページされた変数は正しい値を提供していないようです。 – Christian

関連する問題