I need to be able to delete files from S3 that are stored by users, such as profile photos. Just calling @user.logo.destroy doesn’t seem to do the trick – I get [paperclip] Saving attachments. in the logs and the file stays right there in the S3 bucket.
How can the file itself be removed?
This are the methods from Paperclip that can be used to remove the attachments:
So you see, destroy only removes the attachment if no error occurs. I have tried it with my own setup against S3 so I know that destroy works.
Could the problem in your case possible be that you have any validations that cancels the save? I.e validates_attachment_presence or something similar?
I think one way to find out would be to try @user.logo.destroy and then check the content of @user.errors to see if it reports any error messages.