2012-08-05 65 views
0

我想在下面的哈希@data中創建一個動態循環,而 似乎無法弄清楚。我正在使用這裏的google api創建一個帶註釋的時間軸for-rails https://github.com/mcommons/annotatedtimeline-for-rails在一個哈希動態循環Ruby on Rails

散列@data中的數組必須是動態的i:e日數必須由循環生成,並且產品和數字的名稱也是動態的。我會 試着給下面

@numdeployed循環的例子是一個數字,來自一個表在DB 我應該循環

@data{ 
    begin loop 
    i.day.ago.to_date => { :coder=>@numdeployed, :imedidata=>@numdeployed, :balance=>@numdeployed, :CTMS=>@numdeployed }, 
    end loop 
} 

原始數據的Hash臉色產生像這樣

@data = { 
    1.day.ago.to_date => { :coder=>10, :imedidata=>40, :balance=>10, :CTMS=>40 }, 
    2.day.ago.to_date => { :coder=>10, :imedidata=>40, :balance=>10,:CTMS=>40 }, 
    3.day.ago.to_date => { :coder=>10, :imedidata=>40, :balance=>10,:CTMS=>40 }, 
    4.day.ago.to_date => { :coder=>10, :imedidata=>40, :balance=>10,:CTMS=>40 }, 
    5.day.ago.to_date => { :coder=>10, :imedidata=>40, :balance=>10,:CTMS=>40 } 
} 

希望有人能幫忙。謝謝

回答

3

你在找這樣的事嗎?

@data = Hash[ 
    n.times.map do |i| 
     [ (i + 1).day.ago.to_date, { :coder => 10, :imedidata => 40, :balance => 10, :CTMS => 40 } ] 
    end 
] 

n是你要然而,許多對你@data

+0

非常感謝。 – user1576738 2012-08-05 12:23:49