環境
Rails.version
=> "5.2.4.1"
ActsAsTaggableOn::VERSION
=> "6.5.0"
model
class Model < ApplicationRecord
acts_as_taggable
end
解決策
N+1を解消するためにはincludes(:tags)
を使った上で、tag_listではなく、tagsを呼ぶこと
# tagsを呼ぶこと
Model.includes(:tags).each{|m| m.tags }
# acts_as_taggable skills などとした場合
Model.includes(:tags).each{|m| m.skills }
# tag_listを呼んでしまうとN+1がどうしても発生してしまう
# Model.includes(:tags).each{|m| m.tag_list }
# tag_listと同じにするには ...
Model.includes(:tags).each{|m| m.tags.map(&:name) }