Я пытаюсь преобразовать dyanmic HTMl в PDF с помощью wicked_pdf gem.Как визуализировать ERB как строку?
все это у меня есть
class HomeController < ApplicationController
def index
@var = Hash.new
@var = { first_name: "John", last_name: "Doe", address: "A & N", country: "India" }
html = render "home/to_pdf.html.erb", locals: { var:@var }, layout: false
pdf = WickedPdf.new.pdf_from_string(html[0].to_s)
save_path = Rails.root.join('pdfs','filename.pdf')
File.open(save_path, 'wb') do |file|
file << pdf
end
render :home # or redirect_to is also acceptable
end
end
to_pdf.html.erb
<style type="text/css">
.row {
color: red;
}
.p {
font-size: 20px;
font-weight: bold;
}
</style>
<h1>Hello World</h1>
<div class="row">
<em><%= @var[:first_name] %></em>
<em><%= @var[:last_name] %></em>
</div>
<div class="row">
<em><%= @var[:address] %></em>
<em><%= @var[:country] %></em>
</div>
<div class="sign">
<br><br>
SIgn Here
</div>
home.html.erb
<h1>Pdf created successfully</h1>
успешно оказывать to_pdf.html .erb и успешно создавать и сохраняет файл pdf, но я получил DoubleRenderError, что очевидно.
я хочу, чтобы redirect_to или оказывать «домашний»
Примечание: если я удалить штукатурку «дома», то я не получил ошибки, но тогда это делает to_pdf.html.erb не индекс .html.erb.
Я просто хочу скомпилированный вид erb (который является динамическим, как вы можете видеть выше m, используя @var) как html, чтобы я мог преобразовать его в pdf.
Боже мой, только одна линия изменила весь мир, где ты был раньше, спасибо много человек :) –
вы радушны;). – IS04