Ho bisogno di creare un ambito denominato in Mongoid che confronta due campi Ora nello stesso documento. Come ad esempioAmbito denominato Mongoid confrontando due campi temporali nello stesso documento
scope :foo, :where => {:updated_at.gt => :checked_at}
Questo ovviamente non funzionerà come si tratta :checked_at
come un simbolo, non il campo vero e proprio. Qualche suggerimento su come questo può essere fatto?
Update 1
Ecco il mio modello in cui ho questo scopo dichiarato, con un sacco di codice aggiuntivo messo a nudo fuori.
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
questo mi dà il seguente errore:
'<class:User>': undefined method 'checked_at' for User:Class (NoMethodError)
Fantastico, funziona alla grande. Grazie anche per il suggerimento di prestazione. –