Я решил проблему, используя метод render_to_string и передавая содержимое HTML как локальные в шаблон, как показано ниже:
pdf = WickedPdf.new.pdf_from_string(
render_to_string('pdf/pdf_full_page.html.erb', layout:'pdf_layout.html.erb', locals: { content: html}),
header: {
content: render_to_string('pdf/pdf_header.html.erb', layout: 'pdf_layout.html.erb')
},
footer: {
content: render_to_string('pdf/pdf_footer.html.erb', layout: 'pdf_layout.html.erb')
},
layout: 'pdf_layout.html.erb',
debug: true,
background: true,
no_background: false,
save_to_file: Rails.root.join("pdfs","#{pdf_name}.pdf"),
save_only: true
)
pdf_full_page.html.erb Просмотреть код:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>PDF Full page</title>
</head>
<body>
<%= content.html_safe %>
</body>
</html>
Надеюсь, это поможет кому-то еще