0

このRailsCastsに従って、PrawnでPDFを生成しようとしています。

次のコードを試した場合、正常に機能します。

pdf = OrderPdf.new(@order)

ただし、「view_context」を追加すると

pdf = OrderPdf.new(@order, view_context)

このエラーが発生しました: "SyntaxError in xxxController#index"構文エラー、予期しない'、'、予期しない')'

コントローラを入れてみましたhelper_method :view_contextが、それでもエラーが発生します。

環境:レール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

どうやってこれを書いたの?

4

1 に答える 1

1

initializeメソッドは2つのパラメーターを受け入れる必要があります。まだ1つしかないのではないかと思います。

初期化メソッドを以下に変更します

 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
于 2012-07-30T22:46:27.643 に答える