If you need to search an ActiveRecord model for similar values, you might be tempted to use LIKE
or 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.