-2
我有一個數組:循環通過數組,並添加到模型
array = [ [1,2], [2,3], [33,33], [2l,2] ]
和模型被叫號碼與列numbera
和numberb
。我想,以填補numbera
與陣列和陣列這樣的第一個值number b
[原文]與第二個值:
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'會正常工作。當你在'each'循環中初始化'i'時,變量對於塊是局部的,因此每次調用該塊時都會被重置(每次導致它爲0)。所有這些都說明了使用'建議的each_with_index'更具慣用性的Ruby。 – mikej
我會使用數組或模型上的each_with_index嗎? ,因爲我有兩個集合,我需要循環 - 或者我需要兩個each_with_index調用? –
也試圖initiallized i = 0以外的dosn't工作...它給了我:NoMethodError:未定義的方法'[]'爲零:NilClass –