Just assign the existing attachment to another record:
new_photo = Photo.new
new_photo.image = old_photo.image
Paperclip will duplicate the file when saving.
To use this in forms, pimp your attachment container like this:
class Photo < ActiveRecord::Base
  has_attached_file :image
  
  attr_accessor :copy_of
  def image_url
    if copy_of
      copy_of.url
    else
      image.url
    end
  end
end
And in the controller do:
new_photo = Photo.new(:copy_of => old_photo)
Posted by Tobias Kraze to makandra dev (2010-08-24 17:30)