1

rails と prawn pdf を使用してレポートを pdf 形式で生成しています

1つのコントローラーから2つ以上のpdfドキュメントを生成することは可能ですか? (私はrespond_toを使用してpdfを生成しています)

以下は現在、1つのpdfのみを生成できるコントローラーです。所有者とエンドユーザー向けに異なる形式でpdfを作成する必要があります

ありがとうございました

  def show
    @family = Family.find(params[:id])

    
    respond_to do |format|
      format.html
      format.pdf do
        pdf = familyPdf.new(@family) 
        send_data pdf.render, filename: "family_#{@family.father_name}.pdf",
                              type: "application/pdf",
                              disposition: "inline"
      end
    end
  end

4

2 に答える 2

0

一度に 1 つのファイルをダウンロードできます。アクションで複数のファイルを生成して送信するには、それらを zip フォルダーにマージする必要があります。zip ファイルを生成するには、rubyzip gem https://github.com/rubyzip/rubyzipを使用できます。

これを行うための素晴らしい記事もありますhttp://thinkingeek.com/2013/11/15/create-temporary-zip-file-send-response-rails/

于 2015-05-07T05:14:13.550 に答える
-1

if/else ステートメントを使用できます

def show
  @family = Family.find(params[:id])


  respond_to do |format|
    format.html
    format.pdf do
      if current_user.is_owner?
        pdf = familyPdf.new(@family) 
        send_data pdf.render, filename: "family_#{@family.father_name}.pdf",
                              type: "application/pdf",
                              disposition: "inline"
        return
      else
        ...
        code for formatting pdf for end user goes here
        ...
      end
    end
  end
end
于 2015-05-07T04:14:10.463 に答える