ruby on rails 3 - span - ¿Cómo encontrar el registro con el precio máximo?
rails generate html in helper (1)
Esto devuelve el valor maxium, no el registro completo:
self.prices.maximum(:price_field)
Y actualmente, encuentro el disco así:
def maximum_price
self.prices.find(:first, :conditions => "price = #{self.prices.maximum(:price_field)}" )
end
¿Es esta la manera correcta? Porque lo anterior necesita dos declaraciones SQL para que funcione, y de alguna manera no se siente bien.
PD. Además, quiero que si más de un registro tiene el mismo valor "máximo", debería obtener el que tenga el último valor updated_at
. ¿Entonces eso significaría otra declaración SQL?
Pps. ¿Alguien sabe de una referencia buena o detallada para cosas de AREL y no AREL en Rails? ¡La consulta Rails Guide for ActiveRecord no es suficiente!
(Estoy usando Rails 3)
=== ACTUALIZACIÓN ===
Usando AREL hago lo siguiente:
self.prices.order("updated_at DESC").maximum(:price_field)
Pero esto solo da el valor máximo, no el registro completo :(
Además, ¿es el uso de maximum()
realmente AREL?
¿Qué tal algo como esto?
self.prices.order("price DESC").first