2011-04-16 7 views
5

Estoy intentando generar PDF usando gambasPDF generando con gambas - ¿Cómo puedo acceder a la variable en Prawn.generate?

@buyer = Buyer.last 
Prawn::Document.generate("samle.pdf") do 
    text "hello #{@buyer.name} world" 
end 

pero esto obviamente no funciona (sólo si uso variable de clase @@ comprador), mi pregunta es ¿cuál es la forma correcta de pasar variables a la gamba :: Document.generate

(sé que la solución a esto es prawnto pero estoy experimentando poco ... y también es un proyecto Sinatra)

+0

cómo no funciona? –

Respuesta

8

de http://rdoc.info/github/sandal/prawn/master/Prawn/Document#generate-class_method parece que si se pasa una variable en a su bloque será evaluado en el contexto actual. A fin de tratar:

@buyer = Buyer.last 
Prawn::Document.generate("samle.pdf") do |pdf| 
    pdf.text "hello #{@buyer.name} world" 
end 

Editar: Para ser más claro, esto significa que en lugar de la cuadra siendo evaluado dentro de un nuevo gambas :: objeto de documento, la gamba :: objeto de documento en su lugar se introduce en el bloque. El bloque se evalúa dentro del objeto actual para que las variables de su instancia estén todavía en el alcance.

+0

¡funciona! gracias – equivalent8

+1

No hay problema :-) Si funciona, ¡deberías aceptar la respuesta, aunque ...! –

+0

muchas gracias – Andrea

Cuestiones relacionadas