sql >> Base de Datos >  >> RDS >> Mysql

Ruby sort_by para matrices devueltas por MySQL, fecha formateada como cadena

Los elementos parecen estar anidados más profundamente de lo que esperaba. Cambia tu código a:

# use '{ }' instead of 'do end' for a single-line blocks
tasksByDate = tasks.sort_by { |task| task.first[:date].to_date }

Explicación:

Lo que ve como resultado de p task :

[#<User id: 10, login: "my.name", hashed_password: "", date: "2016-08-29">]

Significa que se trata de un Array de elementos. Observe las llaves que lo encierran [ ] . Entonces, lo que tienes que hacer en este caso es task.first , que devolverá:

 #<User id: 10, login: "my.name", hashed_password: "", date: "2016-08-29">

Desde allí, debería poder acceder a los valores del elemento mediante una clave, como pretendía:

task.first[:date]