2012-03-20 2 views
2

私はwicked_pdfを使ってPDFをレンダリングしています。アプリはHTMLで表をレンダリングします。この表は動的です。つまり、30秒ごとにデータが変化します。ユーザーが「PDFとしてダウンロード」リンクをクリックすると、要求はサーバーに戻り、HTML(PDF用にわずかに変更されたもの)がレンダリングされます。サーバに戻ることなくPDFをレンダリングする(wicked_pdf)

しかし、問題はサーバーに戻ってきたため、データが変更されている可能性があります。この結果、HTMLテーブルと異なる値がPDFテーブルに表示されます。クライアントはこれを望んでいません。

基本的に、動的表ではなくPDF形式の静的表のスナップショットが必要です。 wicked_pdfを使ってどうすればいいですか?道ここ

おかげで、 シュリ​​ダール

+2

テーブルの内容をサーバーに戻して、パラメータとしてPDFを作成するだけです。 – Hck

+0

テーブルのHTMLを文字列パラメータとして送信することを意味しますか?私はそれを検討していた。 – sridharraman

+0

なぜこの方法があなたの要件を満たしていないのですか? – Hck

答えて

1

共通Railsは、タイムスタンプを使用することです。

コントローラに実際の時刻を渡す必要があります。そうすれば、次のような想定されるアイテムしか取得できません。

# views 
= link_to "pdf", orders_path(updated_at: DateTime.now, format: :pdf) 
# controller 
orders = Order.where(updated_at >= params[:updated_at]) 
+0

残念ながら、既存のDB構造でこの情報を取得する簡単な方法はありません。 [私はクライアントが使用するレガシーDBを使用することを余儀なくされています。] 一時的なdbビューの作成を検討していて、session-idをパラメータとして使用していました。あなたの提案をありがとう。 – sridharraman

+0

私は理解しています。だから一時的なデータベースを使用することができますが、古いデータなどを削除するためにいくつかのクリーンアップロジックを作成する必要があります。または実際に生のHTMLを文字列としていくつかのpdf生成コントローラに送ることができます。または。あなたのビジネスロジックが特定のアイテムを取得できる場合。 idsだけを渡し、idに応じてpdfを生成することができます – fl00r

関連する問題