Como fazer uma matriz multidimensional dinâmica em rubi?

Eu tenho uma pergunta inicial sobre matrizes multidimensionais.

Quero classificar entradas por ano e mês. Então eu quero criar uma matriz multidimensional que conteria anos -> meses -> entradas do mês

Então a matriz seria como:

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

Agora eu tenho:

@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

mas quando eu tento iterar através do array anos, eu recebo: "método indefinido` each 'para 2009: Fixnum "

Tentei também:

@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