これは動作していないのか分かりません。どのようにインデックスを.each_with_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][:"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].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
更新:
...しかし、他の人が動作するようには思えバックアップnil
nil
:
params[:payments].each{|k,v| @calc.payments[k.to_i] = v[":amounts_paid"]}
これはに@calc.payments
を回す:
はいくつかの回答に基づいて、I'vedはこれを試してみました
>> 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