違うアプローチを試して少しはまってしまいましたが、 とても簡単に association も考慮して検索することができました。 Ransack 賢いなぁ。 例 以下は、title と description と tag の like検索になります。 query = { title_or_description_or_tags_name_cont: "ケーキ"} q = Article.published.ransack(query) q.result(distinct: true) SELECT DISTINCT "articles".* FROM "articles" LEFT OUTER JOIN "taggings" ON "taggings"."taggable_id" = "articles"."id" AND "taggings"."context" = ? AND "tagg