Necesito crear un ámbito con nombre en Mongoid que compare dos campos de Tiempo dentro del mismo documento. Tal comoÁmbito denominado Mongoid que compara dos campos de tiempo en el mismo documento
scope :foo, :where => {:updated_at.gt => :checked_at}
Esto, obviamente, no va a funcionar, ya que trata :checked_at
como un símbolo, no el campo real. ¿Alguna sugerencia sobre cómo se puede hacer esto?
Actualización 1
Aquí está mi modelo en el que tengo este ámbito declarado, con una gran cantidad de código extra despojado.
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
Esto me da el siguiente error:
'<class:User>': undefined method 'checked_at' for User:Class (NoMethodError)
Impresionante, esto funciona genial. También gracias por la sugerencia de rendimiento. –