Мне нужно создать именованную область в Mongoid, которая сравнивает два поля времени в одном документе. Такие как
scope :foo, :where => {:updated_at.gt => :checked_at}
Очевидно, что это не сработает, так как :checked_at
рассматривается как символ, а не как фактическое поле. Любые предложения о том, как это можно сделать?
Обновление 1
Вот моя модель, в которой у меня объявлена эта область действия, из которой удалено много лишнего кода.
class User
include Mongoid::Document
include Mongoid::Paranoia
include Mongoid::Timestamps
field :checked_at, :type => Time
scope :unresolved, :where => { :updated_at.gt => self.checked_at }
end
Это дает мне следующую ошибку:
'<class:User>': undefined method 'checked_at' for User:Class (NoMethodError)