首页 > 解决方案 > 如何在导轨中获取所有孩子的活动存储附件?

问题描述

假设有2个模型。

用户模型:

has_many :posts

后模型:

属于_to:用户

has_many_attached :files, 依赖: :destroy

我想要的只是用户的所有文件。就像是:

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

或任何其他可以给我用户所有文件的方式。

所以我想要属于用户的所有帖子的所有文件。像 user.post_files

标签: ruby-on-railsrails-activestorage

解决方案


谢谢大家的答案。我找到了解决方案。

has_many_attached :files实际上设置了两个 has_many 关系:

has_many :files_attachmentshas_many :files_blobs

所以在 user.rb (父模型)中,我们可以简单地拥有:

has_many :files_attachments, through: :posts

通过这种方式,您可以让 user.files_attachments 获取一个用户的所有帖子文件。


推荐阅读