如何在活动存储中查找用户附件的总大小

Fah*_*had 7 ruby-on-rails rails-activestorage

我正在使用 Rails 6。如何获取活动存储中用户附件的总大小?

======

更新:

如果我有用户 A 和用户 B

如何获取用户 A 附件的总大小?

mec*_*cov 7

如果您想获取与某些记录(例如User.first)相关联的所有附件的大小,您可以使用:

ActiveStorage::Attachment.where(record: User.first).map(&:byte_size).sum
Run Code Online (Sandbox Code Playgroud)

例如您的用户has_many_attached :images。在这种情况下,您可以获得该用户所有图像的大小:

User.first.images.map(&:byte_size).sum
Run Code Online (Sandbox Code Playgroud)

使用include ActionView::Helpers::NumberHelper您可以将字节大小(整数)转换为人类格式:

number_to_human_size(size_of_all_attachments)
Run Code Online (Sandbox Code Playgroud)