我有管理订单的申请。用户可以创建订单,在创建订单后,生成带有订单数据的pdf。此pdf需要通过电子邮件发送给用户。 此外,pdf需要保存在表格的管理面板上,以便管理员可以下载。
问题是如何在创建订单后保存此pdf,以便任何更新价格或其他数据不会影响创建的pdf。 PDF需要保留订购时间内的所有数据。
应用程序在Ruby on Rails上。
谢谢。
答案 0 :(得分:0)
使用邪恶的pdf gem。
1.You must install https://code.google.com/p/wkhtmltopdf/
2.Install the gem with the command "gem install wkhtmltopdf-binary"
3.Create a folder to save your pdf files like "/public/user_pdfs"
4.Configure your controller
class UserController < ApplicationController
def pdf_files
@users= User.all
respond_to do |format|
format.html
format.pdf {
send_data render(
####### WICKED CODE ######
:pdf => "user_pdfs" },
:save_to_file => Rails.root.join('public/user_pdfs', "name_of_pdf_on_Db.pdf")
),
####### END WICKED CODE ######
:filename => "name_of_pdf_in_view.pdf"
}
end
end
end
5.In the view "pdf_files.html.erb"just create a link to download the file
<% @users.each do |user| %>
<%= user.name %>
<%= link_to "DOWNLOAD PDF",{:controller=>"user",:action=>"pdf_files",:id=>user.id } %>
<% end %>
6.Create the pdf file just the information that you want to show ...."pdf_files.erb"
<% @users.each do |user| %>
<%= user.name %>
<% end %>
有关更多信息,请转到https://github.com/mileszs/wicked_pdf