CarrierWave
Classier solution for file uploads for Rails, Sinatra and others
...It is quite simple to mount uploaders on columns in your model, so you can simply assign files and get going. Make sure you are loading CarrierWave after loading your ORM, otherwise you'll need to require the relevant extension manually. Now you can cache files by assigning them to the attribute, they will automatically be stored when the record is saved. CarrierWave also has convenient support for multiple file upload fields.