過去にこんな記事を書いた。
rails3 joinsで別モデルの情報も条件に加える
いやいやいやいや、過去の自分!arel使ってドヤっちゃったよ!
もう最近はこの記事のとおり、arelを使ってません。
Arelでクエリを書くのはやめた方が良い5つの理由
というわけで、元記事のこれ
User.joins(:items).where(Item.arel_table[:name].eq(‘エクスカリバー’)).uniq
をリファクタリングすると、こうなる。
User.joins(:items).where(items: {name: 'エクスカリバー'}).distinct
joinsには「has_many, has_oneとかの参照名」を書いて、whereにはDBのテーブル名を書くこと。
これがごっちゃに良くなる・・。