tag span rails link_to generate content_tag content ruby-on-rails-3 activerecord max arel

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