Ý tưởng để khớp tất cả các giá trị trong IN
mệnh đề bạn phải làm điều này:
tag_ids = [1, 2, 3, 4]
Post.joins(:tags).where('tags.id IN (?)', tags_ids).group("posts.id")
.having("COUNT(posts.id) >= ?", tag_ids.length)
Tôi hy vọng điều này sẽ giúp bạn.