Как сгенерировать pdf в рейке с помощью cron job rails 3
Привет я использую рельсы 3 и злой PDF PDF Gem для создания PDF в моих контроллерах. Но теперь я хочу
создать PDF-файл в грабли задачи, которая будет проходить через задания Cron. После создания этого PDF я отправлю
это по электронной почте.
this is my normal controller method to generate pdf
def generate_invoice_pdf
begin
@trunk_groups_orig = TrunkGroupSubscriber.all
render :pdf => "GenerateInvoice", :layout => false, :template => "/accountings/generate_invoice_pdf"
rescue => client
puts client.inspect
end
end
Но как я могу сгенерировать PDF в грабли
Большое спасибо за любую помощь
1 ответ
Решение
Если вы используете pdfkit
или же wicked_pdf
тогда вы можете попробовать это, посмотреть, если это работает.
Обновление кода
class PdfInvoice
def generate_invoice
@trunk_groups_orig = TrunkGroupSubscriber.all
content = File.read('#{Rails.root}/app/views/accountings/generate_invoice_pdf.erb')
template = ERB.new(content)
# THis will generate html content
html_content = template.result(binding)
# now you have html content
pdf= WickedPdf.new.pdf_from_string(html_content)
# then save to a file
save_path = Rails.root.join('pdfs','filename.pdf')
File.open(save_path, 'wb') do |file|
file << pdf
end
end
end
PdfInvoice.new.generate_pdf
#You can customize method based on your requirement,