查找子资源的总附件存储使用量 - Paperclip Rails

Find child resources' total attachment storage usage - Paperclip Rails

我正在构建一个 rails 应用程序,其中模型 UsersAlbum(如在相册中)和 Photo 依次嵌套。我希望能够找到用户相册使用的总存储空间 space。

Album 级别,我可以找到该相册中照片使用的总存储空间 space。即:

album = Album.first

album.photos.sum(:image_file_size)

但是,我希望能够从 User 级别对所有相册的照片执行此操作。

有没有一种优雅的方式来做到这一点?

谢谢!

假设每个User有很多Albums,每个Album有很多Photos。您可以使用以下语句获取第一个 User 使用的总存储空间。

User.find(1).albums.map(&:photos).flatten.pluck(:image_file_size).sum