Ruby on rails rails 3向Prawn发送视图上下文
我正在尝试生成pdf,如下所示 如果我尝试下一个代码,它可以正常工作: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 = 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