Les éléments semblent être imbriqués plus profondément que prévu. Remplacez votre code par :
# use '{ }' instead of 'do end' for a single-line blocks
tasksByDate = tasks.sort_by { |task| task.first[:date].to_date }
Explication :
Ce que vous voyez comme une sortie de p task
:
[#<User id: 10, login: "my.name", hashed_password: "", date: "2016-08-29">]
Cela signifie qu'il s'agit d'un tableau d'éléments. Remarquez les accolades englobantes [ ]
. Donc, ce que vous devez faire dans ce cas est task.first
, qui renverra :
#<User id: 10, login: "my.name", hashed_password: "", date: "2016-08-29">
À partir de là, vous devriez pouvoir accéder aux valeurs de l'élément par une clé, comme vous l'aviez prévu :
task.first[:date]