Ordenar resultado base de datos

Hola a todos,

estoy aprendiendo Ruby y he programado un To-Do list siguiendo un
tutorial famoso por internet, y que funciona perfectamente. Pero ahora
he añadido un campo a los existentes donde poner la fecha.

Ahora hago:

def list
@items = Todo.find_all
end

y se me muestra todo.

Pero quiero que se me ordenen bajo el título correspondiente al día y
los días ordenados cronológicamente, algo así:

22-11-2006
Arreglar ordenador
Comprar targeta

23-11-2006
Mirar monitores

Supongo que será cosa de hacerlo con un bucle,… pero no sé cómo
plantear la programación!!!

PD: por si lo necesitáis, los campos de la db son: id, descripcion,
fecha y hecho.

A ver si podéis ayudarme.

Muchas gracias.

Hola, antes quería decirte que me parece que el orden que mostras en el
ejemplo esta al revés, porque arriba tendrían que ir los mas nuevos.

Para obtener los items ordenados por fecha haces esto

def list
@items = Todo.find(:all, :order => ‘fecha DESC’
end

Después el tema de juntarlos todos ya es algo que deberías de hacer con
algún bucle como lo decís, pero ahora es mas fácil al tenerlo ordenado.

saludos,
Juan P.

El día 15/11/06, Jonsaes [email protected] escribió:

On 15/11/06, Juan P. [email protected] wrote:

algún bucle como lo decís, pero ahora es mas fácil al tenerlo ordenado.

La iteración va más a o menos así (excluyendo marcado html)

fecha_anterior = nil

@items.each do |item|
puts item.fecha fecha unless fecha_anterior == item.fecha
puts item.text
fecha_anterior = item.fecha
end


Manuel
http://linkja.com * un agregador de tendencias
http://simplelogica.net
simplelogica.net

Muchas gracias a los dos, ya he cogido la idea de cómo sería el bucle,
ahora empezaré a trabajar sobre él.

Y también el consejo sobre la ordenación descendente!!! muy útil, no lo
había pensado.