Как сделать динамический многомерный массив в 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