Railsで範囲オブジェクトを使った検索

検索条件で、ある値より大きいや小さいといった条件で検索したくなることがある

Railsでそれを実現する方法になります!

以上

以上は「.」を3つで表現することができます

上限と下限あり(1以上5以下)
Test.where(result: 1...5)

上限なし(1以上)
Test.where(result: 1...)

下限なし(5以下)
Test.where(result: ...5)

未満

未満は「.」を2つで表現することができます

上限と下限あり(1以上5未満)
Test.where(result: 1..5)

下限なし(5未満)
Test.where(result: ..5)

未満はありますが、超過(より大きい)は、なぜかないようです。

なので、超過(より大きい)を表現するためには、

Test.where('result > ?', 1)

というように、SQL分で条件を書いてあげる必要があります

参考

docs.ruby-lang.org