Это легко сделать с Prawn , Gemfile => gem 'prawn', bundle
Допустим, у вас есть Клиент модель:
Customers_controller.rb
def show
@customer = Customer.find(params[:id])
respond_to do |format|
format.html
format.pdf do
pdf = CustomerPdf.new(@customer)
send_data pdf.render, filename: "customer_#{id}.pdf",
type: "application/pdf",
disposition: "inline"
end
end
end
, а затем просто создайте папку pdfs в папке apps и создайте файл customer_pdf.rb
class CustomerPdf< Prawn::Document
def initialize(customer)
super()
@customer = customer
text "Id\##{@customer.id}"
text "Name\##{@customer.name}"
end
end
show.html.erb
<div class="pdf_link">
<%= link_to "E-version", customer_path(@customer, :format => "pdf") %>
</div>
РЕДАКТИРОВАТЬ:
и не забудьте включить pdf в config / initializers / mime_types.rb
Mime::Type.register "application/pdf", :pdf