Как сделать динамический многомерный массив в ruby?

У меня есть вопрос начинающего рубина о многомерных массивах.

Я хочу отсортировать записи по году и месяцу. Поэтому я хочу создать многомерный массив, который будет содержать годы - & gt; месяцы - & gt; записи месяца

Таким образом, массив будет выглядеть так:

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

Теперь у меня есть:

@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

но когда я пытаюсь перебрать массив лет, я получаю: & quot; неопределенный метод `each & apos; на 2009 год: Fixnum & quot;

Пробовал также:

@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

Ответы на вопрос(4)

Ваш ответ на вопрос