0

Users,Album(写真アルバムのような)とPhotoの順でネストされたレールアプリを構築しています。私は、ユーザーのアルバムで使用されているストレージ容量の合計を見つけることができるようにしたいと考えています。子供のリソースの合計添付ファイルの保存容量を見つける - ペーパークリップレール

レベルのAlbumから、そのアルバムの写真で使用されている合計の保存容量がわかります。すなわち:

album = Album.first 

album.photos.sum(:image_file_size) 

しかし、私はすべてのアルバム写真をUserレベルからこれを行うことができるようにしたいです。

これを行うためのエレガントな方法はありますか?

ありがとうございます!

答えて

5

UserのそれぞれがAlbumsであり、それぞれAlbumが多くてPhotosであるとすると、最初のUserのために使用された合計ストレージは、次のステートメントを使用して取得できます。

User.find(1).albums.map(&:photos).flatten.pluck(:image_file_size).sum 
関連する問題