3

我有以下 link_to 路径:

http://localhost:3000/letters/showpdf/3

我的信件控制器中有以下自定义操作:

 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

我目前没有返回浏览器。

编辑:这是我在红宝石日志中看到的:

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]
4

1 回答 1

9

这就是我在控制器中使用的 PDFkit。

send_data @pdf, :filename => "whatever.pdf",
                :type => "application/pdf",
                :disposition  => "inline" # either "inline" or "attachment"

希望这可以帮助

于 2011-02-19T00:56:53.790 回答