【问题标题】:PDF generating with prawn - How can I acces variable in Prawn.generate?用虾生成 PDF - 如何访问 Prawn.generate 中的变量?
【发布时间】:2011-04-16 09:12:10
【问题描述】:

我正在尝试使用 Prawn 生成 pdf

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

但这显然不起作用(仅当我使用类变量 @@buyer 时),我的问题是将变量传递给 Prawn::Document.generate 的正确方法是什么

(我知道解决这个问题的方法是 prawnto,但我正在尝试一点......而且它也是一个 sinatra 项目)

【问题讨论】:

    标签: ruby-on-rails ruby prawn


    【解决方案1】:

    http://rdoc.info/github/sandal/prawn/master/Prawn/Document#generate-class_method 看来,如果您将变量传递到您的块中,它将在当前上下文中进行评估。所以试试:

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

    编辑:更清楚地说,这意味着不是在新的 Prawn::Document 对象中评估块,而是将 Prawn::Document 对象传递到块中。然后在当前对象中评估该块,因此您的实例变量仍在范围内。

    【讨论】:

    • 没问题 :-) 如果可行,您应该接受答案..!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-04
    • 1970-01-01
    • 1970-01-01
    • 2013-12-24
    • 1970-01-01
    相关资源
    最近更新 更多