具有活动存储的Rails计数器缓存

我有一个带有3个附件的account模型,使用的是active Storage has_many_attached :attachments

我想知道该帐户有多少个附件文件,这是最有效的方式(也就是没有联接)

我发现的唯一解决方案是 account.last.attachments.count.size,但会进行两个查询:一个查询帐户,一个查询使用active_storage_attachments表。

有没有办法对附件数量进行缓存?

提前谢谢

编辑

我当然可以设置自己的数据库字段并进行计数,我想知道是否有一些默认值

编辑

我尝试做has_many_attached :attachments,counter_cache: true,但它给出了错误

dong70378 回答:具有活动存储的Rails计数器缓存

也许您可以尝试使用CounterCache? https://api.rubyonrails.org/classes/ActiveRecord/CounterCache/ClassMethods.html

本文链接:https://www.f2er.com/2977022.html

大家都在问