2014-07-25 29 views
-5

我想用@enc中的項填充column_name。問題是#update_all更新數組中最後一項的所有字段?帶數組項的Ruby/Rails更新模型屬性?

最後一項是「MPq3KSzDzLvTeYh + h00HD + 5FAgKoNksykJhzROVZWbIJ36WNoBgkSoicJ5wx \ nog0g \ n」。

我想從數組中填充所有項目而不僅僅是最後一個。 我希望問題清楚嗎? 我試過#update_attributes,但沒有成功? 幫助。 感謝

@enc=["hUt7ocoih//kFpgEizBowBAdxqqbGV1jkKVipVJwJnPGoPtTN16ZAJvW9tsi\n3inn\n", "wGNyaoEZ09jSg+/IclWFGAXzwz5lXLxJTUKqCFIiOy3ZXRgdwFUsNf/75R2V\nZm83\n", "MPq3KSzDzLvTeYh+h00HD+5FAgKoNksykJhzROVZWbIJ36WNoBgkSoicJ5wx\nog0g\n"] 

@enc.each do |i| 
PaymentMethod.update_all(enc_number: i) 
end 
+0

你可以取代'Model'和'column_name'與實際模型和列名? – Stefan

+0

@ashwinkumar我使用rails 3.2,所以使用update_attributes給出錯誤:undefined方法 – user3566065

+0

@Stefan我沒有得到你的意思? – user3566065

回答

0
PaymentMethod.all.each_with_index do |payment, n = 0| 
    payment.update_column(:enc_number, @enc[n]) 
    n +=1 
    end 
+0

我認爲這段代碼工作,但不更新到數據庫?如何將結果更新到數據庫? – user3566065

+0

你是什麼意思不更新?和代碼正在工作?它不更新字段嗎?試試這個「payment.update_attributes(enc_number:@enc [n])」 –

+0

沒有抱歉,它只是從PaymentMethod..thats中選擇所有的......用「payment.update_attributes(enc_number:@enc [n])」。 – user3566065