我有這些參數:Ruby on Rails的:從嵌套參數讀取
Parameters: {"controller"=>"parent_wise_fee_payments", "transaction_date"=>"2015-10-16", "action"=>"pay_payments", "id"=>"10",
"transactions"=>{"payment_mode"=>"Cash",
"1"=>{"payment_id"=>"54", "payment_mode"=>"Cash", "amount"=>"", "parent_id"=>"10", "payment_date"=>"2015-10-16", "title"=>"Second Payment", "payment_note"=>""},
"0"=>{"payment_id"=>"53", "payment_mode"=>"Cash", "amount"=>"600000", "parent_id"=>"10", "payment_date"=>"2015-10-16", "title"=>"First Payment", "payment_note"=>""},
"payment_note"=>""}, "authenticity_token"=>"6jbXWEjBnhQjbWpNiK4cCWPhr/NSDEwul6kH+XcKE/U="}
的「1」和「0」是不固定的,它們依賴於交易的數量,所以我可能有示例3交易,每個與payment_id,payment_mode,金額,...
我只是有興趣得到每個交易的價值,即值「1」和「0」。但我無法找到辦法做到這一點。
這裏是我的嘗試:
params[:transactions].each do |payment|
payment.each do |p|
.... p[0][:amount]
end
end
這給出了一個錯誤,因爲付款[0]是 「payment_mode」,它只有1個值,並支付[1]是 「payment_note」。我無法訪問「1」和「0」,即使當我嘗試付款[「0」] [「金額」]和付款[「0」] [:金額]我得到「無法將字符串轉換爲整數」。我也嘗試使用payment.keys來檢查密鑰是否爲「payment_mode」或「payment_note」並放棄它,但我得到了「未定義的數組方法鍵」。我迷失在這裏,我知道我搞砸了,但我真的需要你的幫助。