Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails rails 3向Prawn发送视图上下文_Ruby On Rails_Ruby On Rails 3_Prawn - Fatal编程技术网

Ruby on rails rails 3向Prawn发送视图上下文

Ruby on rails rails 3向Prawn发送视图上下文,ruby-on-rails,ruby-on-rails-3,prawn,Ruby On Rails,Ruby On Rails 3,Prawn,我正在尝试生成pdf,如下所示 如果我尝试下一个代码,它可以正常工作: pdf = OrderPdf.new(@order) 但是,如果添加“查看上下文” 我得到了这个错误:“xxxController#index中的SyntaxError” 语法错误,意外的“,”,应为“)” 我尝试输入我的控制器helper\u方法:view\u context,但错误仍然存在 环境:rails 3.2.5 我的控制器: def show @liquidacion = Liquidacion.find

我正在尝试生成pdf,如下所示

如果我尝试下一个代码,它可以正常工作:

pdf = OrderPdf.new(@order)
但是,如果添加“查看上下文”

我得到了这个错误:“xxxController#index中的SyntaxError” 语法错误,意外的“,”,应为“)”

我尝试输入我的控制器
helper\u方法:view\u context
,但错误仍然存在

环境:rails 3.2.5

我的控制器:

  def show

@liquidacion = Liquidacion.find(params[:id])

respond_to do |format|
  format.html # show.html.erb
  format.json { render json: @liquidacion }
  format.pdf do
    pdf = LiquidacionPdf.new (@liquidacion, view_context)
    send_data pdf.render, filename: "liquidacion_#{@liquidacion.anio.to_s()+''+@liquidacion.mes.to_s().rjust(2,'0')+''+@liquidacion.numeroliquidacion.to_s()}", type: "application/pdf", disposition: "inline"
  end
end 
end
和我的班级PDF:

class LiquidacionPdf < Prawn::Document
def initialize(liquidacion, view)
    super(top_margin: 20, :page_layout => :landscape)
    @liquidacion = liquidacion
            @view = view
    numero_liqui
    nombre_usuario
    lineas_liqui
    total_liquidacion
    firmas
end
class LiquidacionPdf:横向)
@liquidacion=liquidacion
@视图=视图
第一流
名义上
利基线
总流动性
菲尔马斯
结束

我是如何写的?

您的初始化方法应该接受两个参数。我猜你现在只有一个

将初始化方法更改为如下所示

 def initialize(order, view)
   super(top_margin: 70)
   @order = order
   @view = view 
   order_number
   line_items
 end
编辑

去掉括号或空格

respond_to do |format|
 format.html # show.html.erb
 format.json { render json: @liquidacion }
 format.pdf do
 pdf = LiquidacionPdf.new @liquidacion, view_context

你能在OrderPdf类中pst你的初始化方法吗。。。OrderPdf类中的initialize方法如下所示;但我不知道为什么会出现“语法错误,意外','预期'”,pdf=OrderPdf.new(@order,view\u context)“你能发布你的控制器代码吗?另外,view_context等于什么?我编辑了我的文章,为我的控制器和我的类PDF添加了代码。我不等于查看上下文,我不知道怎么做。请检查编辑的答案,或者您可以使用pdf=LiquidacionPdf.new(@liquidacion,view\u context)
respond_to do |format|
 format.html # show.html.erb
 format.json { render json: @liquidacion }
 format.pdf do
 pdf = LiquidacionPdf.new @liquidacion, view_context