Ransackを使って関連先のカラムで絞り混む
確認環境
- Rails 4.2.1
- ransack 1.6.6
関連先の情報で絞り込む
1
2
3
4
5
6
7
class Turtle < ActiveRecord::Base
has_many :eggs
end
class Egg < ActiveRecord::Base
belongs_to :turtle
end
scopeを使った場合
1
Turtle.joins(:eggs).where(eggs: {color: 'green'})
ransackを使った場合
1
Turtle.ransack(eggs_color_eq: :green).result
eggs_color_eq
と指定することで関連先eggsテーブルのcolorカラムが一致するTurtleオブジェクトを取得できる。