ransackでのOR検索について[Rails gem]
ransackで以下の様なOR検索をしたくなったので調べてみました。
# (a AND b) OR c SELECT `tables`.* FROM `tables` WHERE (((`tables`.`hoge1` = 1 AND `tables`.`hoge2` IS NOT NULL) OR `tables`.`hoge1` = 2))
OR検索の記事で見つけたのが以下 ransack という検索用の gem について - willnet.in
コチラを参考にransackの検索条件を作成
{ g: { '0' => { m: 'or', g: { '0' => { hoge1_eq: 1, hoge2_not_null: 1 }, '1' => { hoge1_eq: 2 } } } } }
'0'
とかがすごく気持ち悪いですが検索できるようになりました。
これ以外の綺麗な書き方分かる方いたら教えてください。