循环遍历数组并添加到模型中

时间:2015-05-20 22:29:40

标签: ruby-on-rails arrays ruby

我有一个数组:

array  = [ [1,2], [2,3], [33,33], [2l,2]  ]

和一个名为数字的模型,其中列为numberanumberb。我想用数组中的第一个值填充numbera,使用数组中的第二个值填充number b [sic],如下所示:

Numbers Table
numbera        numberb
1              2
2              3
33             33
21             2

我该怎么做?这就是我想要做的事情:

n = Number.all
n.each do { |x| i=0; x.update_attributes(numbera:array[i][0], numberb:array[i][1]);i=i+1}

但它不起作用。我的解决方案中i值不会增加。请帮助。

2 个答案:

答案 0 :(得分:1)

您的i位于循环范围内。使用each_with_index { |x,i|并删除i=0i=i+1语句。

答案 1 :(得分:-1)

在玩了一下之后,这里有用了:(我只是使用了实例变量)

@i=0

n.each {|x| x.update_attributes(numbera:array[@i][0], numberb:array[@i][1]);@i=@i+1;}