Rails宝典七十八式:生成PDF文档

1,install
gem install pdf-writer


2,require & register
# environment.rb
require 'pdf/writer'
Mime::Type.register 'application/pdf', :pdf


3,use
# lib/product_drawer.rb
def self.draw(products)
  pdf = PDF::Writer.new
  products.each do |product|
    pdf.text product.name
  end
  pdf.render
end

# products_controller.rb
def index
  @products = Product.find(:all)
  respond_to do |format|
    format.html
    format.pdf do
      send_data ProductDrawer.draw(@products), :filename => 'products.pdf', :type => 'application/pdf', :disposition => 'inline'
    end
  end
end

# in view
<p><%= link_to 'PDF Format', formatted_products_path(:pdf) %></p>

# in browser
http://localhost:3000/products.pdf

你可能感兴趣的:(html,工作,Rails)