I added a document
column to my Post
model, so now I'm able to add txt
files to it:
post.rb:
has_attached_file :document
validates_attachment_content_type :document, :content_type => 'text/plain'
console:
#<Post id: 92, content: "document upload test", user_id: 1, created_at: "2013-01-02 10:23:13", updated_at: "2013-01-02 10:23:13",
title: "document upload test", document_file_name: "test.txt",
document_content_type: "text/plain", document_file_size: 15,
document_updated_at: "2013-01-02 10:23:13">
So now, I would like to turn the content inside test.txt
into raw text. So I can do something like this in my controller:
@post.content = [TEXT INSIDE test.txt]
Any suggestions?
Using a before_save callback, then find the path, open the file and call File::read
on the opened file.
class Post
before_save :contents_of_file_into_body
private
def contents_of_file_into_body
path = document.queued_for_write[:original].path
content = File.open(path).read
end
end
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With