不確定這是行不通的。理想化如何在.each_with_index中調用索引
>> params[:payments][:"1"]
{":amount_paid"=>"100.00", ":date_paid"=>"5/8/2008"}
但如果我寫這個..
>> params[:payments].each_with_index{|item, idx| item[:"#{idx}"]}
TypeError Exception: Symbol as array index
,我要做到這一點:
>> params[:payments]
{"0"=>{":amount_paid"=>"80.00", ":date_paid"=>"2/27/2008"}, "1"=>{":amount_paid"=>"100.00", ":date_paid"=>"5/8/2008"}}
這樣我就可以調用特定的對象與此
params[:payments].each_with_index do |item, idx|
@calc.payments[idx][:date_paid] = item[:"#{idx}"][":amount_paid"]
@calc.payments[idx][:amount_paid] = (item[:"#{idx}"][":amount_paid"]).to_f
end
更新:
基於一些答案,I'ved試過這樣:
params[:payments].each{|k,v| @calc.payments[k.to_i] = v[":amounts_paid"]}
這原來@calc.payments
到:
nil
nil
備份雖然,其他人似乎工作..
>> params[:payments].each{|k,v| p v[":amount_paid"]}
"80.00"
"100.00"
而這一個..
>> params[:payments].each{|k,v| p @calc.payments[k.to_i]}
{:date_awarded=>"1/2/2008", :judgement_balance=>1955.96}
nil
如何在循環中訪問item[idx]
?
末尾我不知道它是否可能使用您用來編寫我正在上面工作的參數的變量注入。那是SQL嗎?以前從未見過。 – Trip
非常感謝DigitalRoss! – Trip