I have the following link_to path:
http://localhost:3000/letters/showpdf/3
I have the following custom action in my letters controller:
def showpdf
@letter = Letter.find(params[:id])
@redcloth_letter = " <style type='text/css'> </style>"
@redcloth_letter = @redcloth_letter << RedCloth.new(@letter.body).to_html
pdf = PDFKit.new(@redcloth_letter)
pdf.stylesheets << "#{RAILS_ROOT}/public/stylesheets/compiled/pdf.css"
send_data(pdf.to_pdf, :filename => "pdf.pdf")
end
I currently get nothing returning to the browser.
EDIT: This is what I see in the ruby logs:
Processing LettersController#showpdf (for 127.0.0.1 at 2011-02-18 15:10:31) [GET]
Parameters: {"action"=>"showpdf", "id"=>"3", "controller"=>"letters"}
Letter Load (1.5ms) SELECT * FROM "letters" WHERE ("letters"."id" = 3)
Sending data pdf.pdf
Completed in 1917ms (View: 6, DB: 2) | 200 OK [http://localhost/letters/showpdf/3]
This is what I use in my controller with PDFkit.
send_data @pdf, :filename => "whatever.pdf",
:type => "application/pdf",
:disposition => "inline" # either "inline" or "attachment"
Hope this helps
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With