ノンカフェインであなたにやさしい

Rails,HTML,JavaScript,jQuery,PHP,CakePHPなど

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'とかがすごく気持ち悪いですが検索できるようになりました。 これ以外の綺麗な書き方分かる方いたら教えてください。