Interesting. I don't use S3.
What would a more generic solution be that would apply equally to other storage options, including just local file storage?
With carrierwave etc it was easy enough to associate a User with an uploaded image. Things are a bit different with ActiveStorage::Attachment & Blobs.
For example, suppose I have a
Park models that
has_many_attached :images. I also have a
User model and any user can upload an image. I want folk to be able to delete their own images that they've uploaded but not other peoples images.
I can see two ways of doing this:
- Create a separate model, say
has_one_attached :pictureand then
Parkinstead of having has_many_attachments, just
- Make use of the fact that ActiveStorage::Blob has many ActiveStorage::Attachment and do the ownership of a blob by having two ActiveStorage::Attachment records: One for the Park and the other for the User.
How are people handling ownership of uploaded blobs? Are there other ways of doing this? Is there a best practice around this? Has Chris done a video on this that I've not yet seen?