我有一个继承自Prawn::Document
的OrderPdf
类,下面是该类的内容:
class OrderPdf < Prawn::Document
include ActionView::Helpers::NumberHelper
include ActionView::Helpers::TagHelper
def initialize(order)
super(top_margin: 50, size: 12)
@order = order
logo
# Other methods that generate pdf's content
footer
end
def logo
# Some stuff here
end
def footer
#Some stuff here
end
end
我这样称呼它:OrderPdf.new(@order)
。文件是生成的,但我需要的是保存它到我的项目的名称,类似这样:"#{Rails.root}/public/uploads/orders/order-#{order.order_number}.pdf"
我知道,我可以这样做:Prawn::Document.generate("#{Rails.root}/public/uploads/orders/order-#{order.order_number}.pdf")
,但我能做一些与现有代码类似的事情吗?谢谢您的支持。
发布于 2018-08-16 21:38:02
您可以在初始化器中调用render_file
方法。
def initialize(order)
super(top_margin: 50, size: 12)
@order = order
logo
# Other methods that generate pdf's content
footer
render_file "#{Rails.root}/public/uploads/orders/order-#{order.order_number}.pdf"
end
https://stackoverflow.com/questions/51877807
复制相似问题