Я использую что-то подобное в недавнем проекте. Я использую его, чтобы выбрать записи, которые находятся в определенном диапазоне дат. Я не использую искатель, но область.
scope :since, lambda {|from, to| {:conditions => {:created_at => (from .. to)}}}
Это тогда называется как Model.since from, to
, где поле created_at
из Model
проверяется по заданному диапазону.
Чтобы сделать это для виртуальных атрибутов, вы должны создать виртуальное поле в своей области. Подобно совпадению в полях first_name и last_name, чтобы создать совпадение для full_name