Я получил его без экземпляра eval, перевернув его наоборот: сгенерируйте PDF-файл в своей модели и визуализируйте его в своем контроллере
В модели:
def generate_pdf
Prawn::Document.new(:page_size => 'A4', :top_margin => 0, :left_margin => 0) do |pdf|
<your pdf code here>
<copy paste from your template>
end.render
end
Вызатем можете отправить его в виде почтового вложения:
attachment = generate_pdf
mail = Notifier.send_pdf(attachment)
mail.deliver
Или отрендерить его в окнах вашего браузера в вашем контроллере:
send_data your_model.generate_pdf, :type => "application/pdf", :disposition => 'inline'