Filter with Where Clauses

This guide shows you how to filter records using where clauses.

Basic Where

active_users = User.where(active: true).all

Multiple Conditions

users = User.where(active: true, role: "admin").all

Chain Where Clauses

users = User
  .where(active: true)
  .where(role: "admin")
  .all

Comparison Operators

Use blocks for comparisons:

# Greater than
adults = User.where { age > 18 }.all

# Less than
young = User.where { age < 30 }.all

# Greater than or equal
User.where { age >= 18 }.all

# Less than or equal
User.where { age <= 65 }.all

# Not equal
User.where { status != "banned" }.all

Range Queries

Date Comparisons

NULL Checks

LIKE Queries

OR Conditions

AND Conditions

Combine Hash and Block

Order Results

Limit Results

Count Results

Verify Filtering Works

Last updated

Was this helpful?