Elementerne ser ud til at være indlejret dybere, end du forventede, at de skulle være. Skift din kode til:
# use '{ }' instead of 'do end' for a single-line blocks
tasksByDate = tasks.sort_by { |task| task.first[:date].to_date }
Forklaring:
Hvad du ser som et output af p task
:
[#<User id: 10, login: "my.name", hashed_password: "", date: "2016-08-29">]
Det betyder, at dette er en række af elementer. Læg mærke til de omsluttende klammeparenteser [ ]
. Så hvad du skal gøre i dette tilfælde er task.first
, som vil returnere:
#<User id: 10, login: "my.name", hashed_password: "", date: "2016-08-29">
Derfra skulle du være i stand til at få adgang til elementets værdier med en nøgle, som du havde til hensigt:
task.first[:date]