paperclip Image Versioning

Hello. I'm hoping to hear your recommendations on using paperclip for
images with versioning.

Anyone know of any elegant paper_clip image, versioning implementation

Thank you

Not elegant, but I did manage to get Paperclip to stop deleting or overwriting the previous versions' attachments (I am using vestal_versions here for that part). The path I took was to patch attachment.rb and storage.rb from Paperclip. In attachment, I look to see if the instance was versioned, and if it was I would inject the version number into the filename before Paperclip saved it. In the same file, I patched the clear method to never delete an instance that was versioned.

In storage.rb, I did the reverse, and let the flush_deletes method remove a non-empty folder.

Both of these changes are fairly risky, in that they require the parent model to have a version method, which I ended up having to provide like this:

   def version

in anything that had a file attachment but didn't have versions. I'm pretty sure this could be improved on a lot.


Thanks Walter, I appreciate the quick reply...

To your points, would highly like to avoid messing with paperclip or

What about creating a customer model to store photo versions like

And then on any update, manually copy the previous photo record over

Only thing I'm not sure about is paperclip would still delete the
photo from S3, so I'd have to recreate the photo? idk, it's getting

Thoughts anyone?