Есть много относительно общих вещей, которые ActiveRecord не обрабатывает, и сопоставление LIKE является одним из них. Вот как это сделать, используя вместо этого прямой Арел.
Model.where(
Model.arel_table[:title].matches("%#{search_term}%")
)
Вы можете установить Arel-Helpers , чтобы сделать это немного проще
Model.where(Model[:title].matches("%#{search_term}%"))
Ранее я рекомендовал Squeel для этого, но первоначальный создатель прекратил поддерживать его, и, похоже, разработчик, работающий на полную ставку, не поддерживает его. А поскольку он работает с частными API-интерфейсами ActiveRecord, он нуждается в постоянном обслуживании.