I am using paperclip to attach an excel file to a mode.
The purpose is to import the data from the excel file to the database.
Model: Import
has_attached_file: spreadsheet
For the import process, I want to access the file in my model as following.
path = "#{Rails.root}/public/#{spreadsheet.url}"
This doesn’t work. I guess because the url has the timestamp at the end.
In general what is the best way to access the attachments on server side ?
I think you’re looking for the
to_filemethod. You should be able to do something like this:which will either return the uploaded file from the server (if you’re using s3 or remote storage), or if it has been assigned to the model but not actually stored yet (if you haven’t called model.save since it was uploaded), it returns the temp file stored on disk.
From there you should be able to use an excel gem or library to parse the contents.
Alternatively, you can use
spreadsheet.url(nil, false)– the second parameter denotes whether or not to append a timestamp.