Rick Tessner


1,260 Experience
12 Lessons Completed
0 Questions Solved


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?

Hi all,

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 aPark 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 Image that belongs_to :user and has_one_attached :picture and then Park instead of having has_many_attachments, just has_many :images
  • 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?

Thanks all!


logo Created with Sketch.

Ruby on Rails tutorials, guides, and screencasts for web developers learning Ruby, Rails, Javascript, Turbolinks, Stimulus.js, Vue.js, and more. Icons by Icons8

© 2021 GoRails, LLC. All rights reserved.