Paperclip preserve files ?


     I am using paperclip to upload files. The problem I am facing is, based on my object property I need to preserve my file. Means my object should be deleted from db but the file need to be restored.

     I am using the option :preserve_files => true.      If I keep the above option in model it will be access to all the objects of the model. I need to restore only for limited objects.

     for example

     def destroy        if obj.restore_attachment          Paperclip::Attachment.default_options.merge!(:preserve_files =>true)        end        Paperclip::Attachment.default_options.merge!(:preserve_files =>false)        obj.destroy      end

     If you observe depending on the attachment property I am setting the option.

         obj.restore_attachment = true      For obj.destroy          obj is getting deleted and file is getting restored.

         obj1.restore_attachment = false      For obj1.destroy          obj1 is getting deleted and file is also getting restored.          For obj1 this should not be happened. The file should also get deleted.

         Even I tried passing lambda in the model       has_attached_file :attachment ,:preserve_files => lambda{|obj| obj.restore_attachment ? true : false }

     This also behaves as like first approach.

     What I observe is when we set preserve_files => true the paperclip is taking this option only through out the other requests.

     How to reload paperclip in the code with new options

     Can you please suggest any alternate solution.

Cheers, Venkat.