2013-03-04 49 views
0

我的应用程序中有一个按钮,通过点击它可以重定向到一个新窗口。下面是它的jQuery代码:在Rails中获取PDF中重定向页面的响应

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宝石吧:

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

但它只是给模板错误report.pdf不存在,双渲染错误,当我尝试别的东西。

回答

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 

我没有第二个渲染。

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