我已经定义了我的哈希和数组:
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字段....
答案 0 :(得分: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