В качестве альтернативы, если вы хотите использовать только Arel и не использовать SQL.Вы можете использовать следующее:
Stock.where(Stock.arel_table[:ticker].matches('%at%'))
Вы можете сделать помощника в вашем ApplicationRecord , чтобы облегчить запрос.
class ApplicationRecord < ActiveRecord::Base
self.abstract_class = true
def self.arel_attr(attr, method, *args)
where(arel_table[attr].public_send(method, *args))
end
end
В результате запрос:
Stock.arel_attr(:ticker, :matches, '%at%')
Полный список методов, которые вы можете вызвать, см. В документации .