Jak tworzyć dynamiczną tablicę wielowymiarową w rubinie?

Mam pytanie dla początkujących rubinów dotyczące tablic wielowymiarowych.

Chcę sortować wpisy według roku i miesiąca. Chcę więc utworzyć wielowymiarową tablicę zawierającą lata -> miesiące -> wpisy miesiąca

Tak więc tablica wyglądałaby następująco:

2009 ->
       08
          -> Entry 1
          -> Entry 2
       09
          -> Entry 3
2007 ->
       10
          -> Entry 5

Teraz mam:

@years = []
@entries.each do |entry|
    timeobj = Time.parse(entry.created_at.to_s)
    year = timeobj.strftime("%Y").to_i
    month = timeobj.strftime("%m").to_i
    tmparr = []
    tmparr << {month=>entry}
    @years.push(year)
    @years << tmparr
end

ale kiedy próbuję iterować przez tablicę lat, otrzymuję: „niezdefiniowaną metodę` każdy 'na 2009: Fixnum ”

Próbowałem również:

@years = []
@entries.each do |entry|
    timeobj = Time.parse(entry.created_at.to_s)
    year = timeobj.strftime("%Y").to_i
    month = timeobj.strftime("%m").to_i
    @years[year][month] << entry
end

questionAnswers(4)

yourAnswerToTheQuestion