Jonsaes
November 15, 2006, 6:36pm
1
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.
Jonsaes
November 15, 2006, 6:47pm
2
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ó:
Jonsaes
November 15, 2006, 7:35pm
3
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
Jonsaes
November 15, 2006, 8:43pm
4
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.