Not able to save PDF Kit file to a Paperclip attachment in Rails 3.2.15

181 views
Skip to first unread message

Ankur Kumar

unread,
Jan 30, 2014, 3:05:17 PM1/30/14
to rubyonra...@googlegroups.com

I am trying to save a pdf file (generated using Rails PDFKit gem) to a paperclip attachment. The MySQL table entry shows following for the paperclip attachment after saving the generated PDF file:

MySQL table record:

*************

id | resume_type | resume_attachment_file_name | resume_attachment_content_type | resume_attachment_file_size | resume_attachment_updated_at

1   | pdf   |   !ruby/object:File {}   |   NULL   |   NULL |   NULL |

**************

as against expected value to be something like in this format:

resume.pdf | application/pdf | 38375 | 2014-01-30 18:24:34

**************

Can someone please tell me what's going wrong here?

Controller:


html = render_to_string('resume.html.erb',layout: false)
kit = PDFKit.new(html, :page_size => 'Letter')

file_name = "resume"

path = "#{Rails.root}/app/assets/PDF/" + file_name.to_s + ".pdf"
**file** = kit.to_file(path)

document = Document.new(:resume_type=>"pdf")
document.resume_attachment_file_name = **file**
document.save! 

schema.rb


create_table "documents", :force => true do |t|
t.string   "resume_type"
t.string   "resume_attachment_file_name"
t.string   "resume_attachment_content_type"
t.integer  "resume_attachment_file_size"
t.datetime "resume_attachment_updated_at"

Thanks.

Regards,

Ankur

Ankur Kumar

unread,
Jan 30, 2014, 10:05:23 PM1/30/14
to rubyonra...@googlegroups.com


The problem is solved. I forgot to add following in model:

has_attached_file :resume_attachment

In addition, I looked at this reference and saved the file in paperclip through File class

     my_model_instance = MyModel.new
     file = File.open(file_path)
     my_model_instance.attachment = file
     file.close
     my_model_instance.save!

Thanks. 

--
Regards,
Ankur 
Reply all
Reply to author
Forward
0 new messages