If you need to search an ActiveRecord model for similar values, you might be tempted to use
ILIKE but this isn't portable between database engines. Similarly, resorting to always downcasing or upcasing can create performance issues.
You can use ActiveRecord's underlying Arel
matches method to do this in a safe way:
addresses = Address.arel_table Address.where(addresses[:address].matches("%street%"))
Arel will apply the appropriate LIKE or ILIKE construct for the database engine configured.