要在预加载了附件的集合上检查 .attached? 方法,同时避免执行 n+1 次附件查询,可以使用以下解决方法:
.attached?
with_attached_附件名
users = User.with_attached_avatar
users.each do |user| puts user.avatar.attached? end
这样做可以避免执行 n+1 次附件查询,因为 with_attached_附件名 方法会在一次数据库查询中预加载所有附件。
上一篇:ActiveStorage:通过附件文件名对ActiveRecord模型进行排序(ERROR缺少FROM子句条目表'active_storage_blobs”)
下一篇:ActiveSupport TimeWithZone 如何保留值?