Mongoid で、同じドキュメント内の 2 つの Time フィールドを比較する名前付きスコープを作成する必要があります。そのような
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)