【发布时间】:2021-04-29 08:18:39
【问题描述】:
我的 Rails 6 应用使用 ruby@2.7 和 carrierwave 上传图片和视频。
在这里,我正在寻找类似于我们的基本 Rails counter_cache 机制的东西,它可以帮助我跟踪用户上传的总大小和到目前为止剩余的总大小。
Rails 应用程序为每个用户提供了 1GB 的默认大小来上传图像/视频(上传到 S3),因此也有必要跟踪和维护每个上传大小,以便这种机制将有助于警告用户他已经消耗了给定的限制以及为他消耗/剩余的大小。
到目前为止我做了什么!
每个user has many 图片和视频。
因此,在每次上传时,我都会在每个 *_uploader.rb 类中触发回调以获取 total file size 并添加它与 user.total_size_consumed 中已经存在的前一个,默认值为 0。
只是想知道是否有任何其他方法可以实现相同的效果,因为我也需要实现转换(MB/GB/TB)。
提前致谢。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4 ruby-on-rails-5 carrierwave