我有一个数组:
array = [ [1,2], [2,3], [33,33], [2l,2] ]
和一个名为数字的模型,其中列为numbera
和numberb
。我想用数组中的第一个值填充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
值不会增加。请帮助。
答案 0 :(得分:1)
您的i
位于循环范围内。使用each_with_index { |x,i|
并删除i=0
和i=i+1
语句。
答案 1 :(得分:-1)
在玩了一下之后,这里有用了:(我只是使用了实例变量)
@i=0
n.each {|x| x.update_attributes(numbera:array[@i][0], numberb:array[@i][1]);@i=@i+1;}