0

以下のハッシュ @data 内に動的ループを作成しようとしていますが、実際には理解できないようです。ここから Google API を使用して annotatedtimeline-for-rails を作成しています https://github.com/mcommons/annotatedtimeline-for-rails

ハッシュ @data 内の配列は動的である必要があります。つまり、日番号はループによって生成される必要があり、製品の名前と番号も動的である必要があります。以下のループで例を挙げてみます

@numdeployed は数値であり、データベース内のテーブルから取得されます。ループによって生成される必要があります

@data{
    begin loop
    i.day.ago.to_date => { :foo=>@numdeployed, :bar=>@numdeployed, :barbaz=>@numdeployed, :foobar=>@numdeployed },
    end loop
}

元のデータハッシュは次のようになります

@data = {
    1.day.ago.to_date => { :foo=>10, :bar=>40, :barbaz=>10, :foobar=>40 },
    2.day.ago.to_date => { :foo=>10, :bar=>40, :barbaz=>10,:foobar=>40 },
    3.day.ago.to_date => { :foo=>10, :bar=>40, :barbaz=>10,:foobar=>40 },
    4.day.ago.to_date => { :foo=>10, :bar=>40, :barbaz=>10,:foobar=>40 },
    5.day.ago.to_date => { :foo=>10, :bar=>40, :barbaz=>10,:foobar=>40 }
}

誰かが助けてくれることを願っています。ありがとう

4

1 に答える 1

3

このようなものをお探しですか?

@data = Hash[
    n.times.map do |i|
        [ (i + 1).day.ago.to_date,  { :foo => 10, :bar => 40, :barbaz => 10, :foobar => 40 } ]
    end
]

ただし、 に必要なペアのn数は多くありません@data

于 2012-08-05T00:56:42.273 に答える