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検索の記事で見つけたのが以下
http://www.willnet.in/85
コチラを参考にransackの検索条件を作成
{
g: {
'0' => {
m: 'or',
g: {
'0' => {
hoge1_eq: 1,
hoge2_not_null: 1
},
'1' => {
hoge1_eq: 2
}
}
}
}
}
'0'
とかがすごく気持ち悪いですが検索できるようになりました。