我在渲染带有将report_Date参数传递到render_header方法的标头时遇到了问题.尽管每次传递不同的report_Date值,但PDF始终显示相同的日期,这不是预期的行为.
我的期望是PDF应该使用传递给render_header方法的report_Date值来呈现.然而,该方法中似乎没有正确使用report_Date参数.
def render_pages(pdf)
grouped_items = rows.group_by { |item| item[0] }
grouped_items.each_with_index do |(report_date, booking_items), index|
render_page(pdf, report_date, booking_items)
pdf.start_new_page unless index == grouped_items.size - 1
end
end
# Renders a page of the PDF
#
# @param pdf [Prawn::Document] The PDF object
def render_page(pdf, report_date, booking_items)
pdf.repeat(:all, dynamic: true) do
pdf.bounding_box([pdf.bounds.left, pdf.bounds.top], width: pdf.bounds.width) do
render_header(pdf, report_date, organisation_name)
end
pdf.bounding_box([pdf.bounds.left, pdf.bounds.bottom + 150 ], width: pdf.bounds.width) do
render_footer(pdf)
end
end
render_body(pdf, report_date , booking_items)
end
def render_header(pdf, report_date, organisation_name)
pdf.image open("https://s3.amazonaws.com/www-inside-design/uploads/2019/05/woolmarkimagelogo-1024x576.png"), width: 80, height: 80, position: :center
pdf.text "HEY #{report_date}"
pdf.table(
[
["#{"Sumanth Samala PVT LTD"} - #{format_report_date(report_date)} \n Attendance Register", "Customer to complete all sections below \n Generated on #{Time.now.strftime("%d/%m/%Y %H:%M")}"]
],
width: pdf.bounds.width,
row_colors: ["808080"],
cell_style: header_cell_style
) do |table|
table.column(0).width = 464
end
end
```