This short tutorial shows you how to manage file versioning in Ruby on Rails by making Paperclip falling in love with acts_as_versioned. Paperclip & acts_as_versioned are plug-ins for Ruby on Rails: Paperclip manages file upload, acts_as_versioned enables models versioning.
Patch Paperclip
I patched Paperclip to keep old files when a new revision is saved. A fork of Paperclip adding the option keep_old_files
to make Paperclip working with acts_as_versioned is available here: http://github.com/pcreux/paperclip/tree/master. You can install it running:
script/plugin install pcreux_paperclip
Update your Paperclip + acts_as_versioned model
Just three things to do:
- update the url & path to store your files by ‘version’
- set the option
keep_old_files
totrue
when a new version get saved - add the interpolation of
:version
1 2 3 4 5 6 7 8 9 10 11 12 |
|
I hope it helps. :)