0

我已经像这样定义了我的哈希和数组:

POPULATION_SUMMARIES = {
    'ACO' => [   # year , member_count
        [2013, 523031],
        [2012, 492349],
        [2011, 432573]
    ]
}

所以我要插入的表是PopulationSummary。它的行/字段是这样的:

    ACO, 2013, 523031
    ACO, 2012, 492349
    ACO, 2011, 432573
Org_id, year, member_count

在DB中,它实际上是那些“ACO”或其他东西的ID,它们基本上是另一个表的外键。(即组织表)。

所以我试图遍历这个并读取结构并将其写入表中。我做到了这样的事情:

  POPULATION_SUMMARIES.each do |k, v|
    org_id = Organization.find_by_name(k).id  # so for example ID of ACO
    v.each do |o| # now read elements of each array
      # HERE :(  QUESTION
    end
  end

所以我遇到问题的部分是如何说好的,您从数组中读取的第一个数字,将其插入年份字段,您从表中读取的第二个数字:将其插入 member_count 字段......

4

1 回答 1

1

这应该让你接近:

POPULATION_SUMMARIES.each do |org_name, summaries|
  org = Organization.find_or_create_by_name(org_name)

  summaries.each do |year, member_count|
    PopulationSummary.create({
      :organization => org,
      :year         => year,
      :member_count => member_count
    })
  end
end
于 2013-02-17T22:58:46.123 回答