0

アプリにボタンがあり、クリックすると新しいウィンドウにリダイレクトされます。そのためのjQueryコードは次のとおりです。

jQ("#create_report").click(function() {
        if (jQ('#client_id').val() !== "" && 
            jQ('#report_date').val() !== "") {
            window.open( 
                "/automated_reporting/report?clientId=" + 
                jQ('#client_id').val() + "&clientName=" + 
                jQ('#client_id option:selected').html() + 
                "&selectedDate=" + jQ('#report_date').val(), 
                'Report',
                'height=700,width=750');
            jQ('#modal_report').modal('hide');
        } else {
            jQ('#create_modal_notification').showMessage(
                "error", "Provide Date and Report Type"
            );
        }
    });

私のコントローラーでは、JavaScript で既に行っているため、リダイレクトまたはレンダリングについては何も記述していません。ページは正常にリダイレクトされ、必要に応じて出力も適切に表示されます。しかし、私が望むのは、リダイレクトされたページの出力を PDF 形式で印刷することです。wicked_pdfコントローラーのレポートアクションに次のコードを入力して、gem を使用しようとしました。

respond_to do |format|
          format.pdf do
              render :pdf => "file_name"
          end
      end
  end

しかし、テンプレートエラーreport.pdfが存在しないだけで、何か他のことをしようとすると二重レンダリングエラーが発生します。

4

2 に答える 2

0

report.pdf.erb(と思う)ファイルはありますか?

アプリで wicked_pdf を使用していますが、これは機能します (ただしmy_action.pdf.erb、ビューにファイルがあります)。

def my_action 
    format.pdf do
        render :pdf => slug, :show_as_html => params[:debug]
    end
于 2013-03-18T18:57:34.077 に答える
0

私のアプリでpryを使用すると、これが機能します。

respond_to do |format|
    format.pdf do                          
          pdf = OrderPdf.new(@order, view_context)
                 send_data pdf.render, filename: "serial_#{@order.id}-#{@order.first_name}.pdf",
                     type: "application/pdf",
                     disposition: "inline"
          end
end

2番目のレンダリングはありません。

于 2013-03-04T09:21:54.447 に答える