您如何解决 ActiveStorage URL 的 N+1 问题?
How do you solve N+1 for ActiveStorage URLs?
如何预加载所有记录及其 URL?
这就是我在我的 jbuilder 中获取 URL 的方法:
# views/users/index.json.jbuilder
...
json.avatar_url user.avatar.attached? && rails_blob_url(user.avatar)
...
Comment
has_one :user
User
has_one_attached :avatar
您将如何预加载所有用户及其头像?
Comments.includes(users: :avatar)
产生以下错误:
ActiveRecord::AssociationNotFoundError (Association named 'avatar' was not found on User; perhaps you misspelled it?)
执行时弹出同样的错误:
User.includes(:avatar)
对于名为 :avatar
的单一附件,Active Storage 添加了一个预加载相关关联的 with_attached_avatar
作用域:
@users.with_attached_avatar.each do |user|
# ...
end
请参阅 has_one_attached
的 API 文档。
如何预加载所有记录及其 URL?
这就是我在我的 jbuilder 中获取 URL 的方法:
# views/users/index.json.jbuilder
...
json.avatar_url user.avatar.attached? && rails_blob_url(user.avatar)
...
Comment
has_one :user
User
has_one_attached :avatar
您将如何预加载所有用户及其头像?
Comments.includes(users: :avatar)
产生以下错误:
ActiveRecord::AssociationNotFoundError (Association named 'avatar' was not found on User; perhaps you misspelled it?)
执行时弹出同样的错误:
User.includes(:avatar)
对于名为 :avatar
的单一附件,Active Storage 添加了一个预加载相关关联的 with_attached_avatar
作用域:
@users.with_attached_avatar.each do |user|
# ...
end
请参阅 has_one_attached
的 API 文档。