Step by Step Ruby on Rails

Ruby on Railsで実際にWebサイトを構築する手順をまとめています。

Prawnのインストールと初期設定手順

Prawnを使ってPDFファイルをダウンロードする方法を確認しています。
Prawnのインストールから初期設定、動作確認として空のファイルをダウンロードしする手順をまとめました。
 
下記サイトを参考にしました。
http://www.sitepoint.com/pdf-generation-rails/
 
1)Prawnをインストール
 
$ vi Gemfile
 
gem 'prawn'
 
$ bundle install

 :
Installing pdf-core (0.2.5)
Installing ttfunk (1.1.1)
Installing prawn (1.0.0)

 
2)PDFのMIMEタイプを設定
 
$ vi config/initializers/mime_types.rb
 
Mime::Type.register "application/pdf", :pdf
 
3)コントローラの設定
 
ここでは、TradeItemsというリソースに対して設定しています。
 
①ルート設定
$ vi config/routes.rb
 
resources :trade_items
 
②コントローラ作成、設定
$ rails generate controller TradeItems
 
$ vi app/controllers/trade_item_controller.rb

  def index
    @trade_items = TradeItem.all
    respond_to do |format|
      format.html
      format.pdf do
        pdf = Prawn::Document.new
        send_data pdf.render, filename: 'report.pdf', type: 'application/pdf'
      end
    end
  end

(コードの説明) ・respond_to
リクエストに応じてフォーマットを設定
respond_to do |format|
 format.出力形式
end
 
・send_data
生成されたバイナリデータをブラウザに送信
send_data(data, options = {})
 
4)動作確認
 
下記ルート設定になっているので、http://localhost:3000/trade_items.pdfをブラウザに入力すると、"report.pdf"というファイルがダウンロードされます。
 
$ rake routes
trade_items GET /trade_items(.:format) trade_items#index