ruby-on-rails - 我可以使用初始化方法将大虾生成的 pdf 文件保存到 profect 文件夹吗?
问题描述
我有一个OrderPdf
继承自的类Prawn::Document
这是该类的内容:
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)
. 生成了 Pdf 文件,但我需要 - 将其保存到我的项目中,名称如下:"#{Rails.root}/public/uploads/orders/order-#{order.order_number}.pdf"
我知道,我可以这样做:Prawn::Document.generate("#{Rails.root}/public/uploads/orders/order-#{order.order_number}.pdf")
,但我可以用现有代码做一些类似的事情吗?提前谢谢。
解决方案
您可以在初始化程序中调用该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
推荐阅读
- python - Pytorch中[-1,0]的维度范围是多少?
- c# - 使用 JSON 保存抽象类列表
- python - Matplotlib 动画,绘制一段时间的数据 True:
- java - 使用迭代器设计模式的 LinkedList 和 ArrayList 之间的性能差异(遍历、添加、删除、获取)
- arrays - 如何从外部文件中检索日期以匹配 jq datepicker 中的日期?
- python - 如何在 python 中为视频添加白色背景?
- javascript - 在 Typescript、Angular、Rxjs 中返回多个 HttpClient
- python - 将信号图像转换为 python 列表 - 通过指定 1D 中的点数
- ios - Swift - 注册和重新注册推送通知
- amazon-web-services - AWS DynamoDB 和 Lambda:扫描优化/性能