Read more

Copy a Paperclip attachment to another record

Tobias Kraze
August 24, 2010Software engineer at makandra GmbH

Just assign the existing attachment to another record:

new_photo = Photo.new
new_photo.image = old_photo.image
Illustration web development

Do you need DevOps-experts?

Your development team has a full backlog? No time for infrastructure architecture? Our DevOps team is ready to support you!

  • We build reliable cloud solutions with Infrastructure as code
  • We are experts in security, Linux and databases
  • We support your dev team to perform
Read more Show archive.org snapshot

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 19:30)