Search code examples
ruby-on-railsrails-activestorage

How to get all childs active-storage attachments in rails?


let's say there are 2 models.

user model:

has_many :posts

post model:

belongs_to :user

has_many_attached :files, dependent: :destroy

what I want is simply all files of the user. something like:

has _may :post_files , through: posts, class_name: "XXX"

or any other way which can give me all the files of the user.

so I want all files of all posts which belong to the user. like user.post_files


Solution

  • thank you all for your answers. I found the solution.

    has_many_attached :files actually sets two has_many relationships:

    has_many :files_attachments and has_many :files_blobs

    So in user.rb (parent model) we can simply have:

    has_many :files_attachments, through: :posts

    and in this way, you can have user.files_attachments to get all files of posts for one user.