ハッシュの配列を作りたいと思います。しかし、問題は最初の反復の後にコードが次の行に移動したときに、配列の内容を直接置き換えます。最初の反復iはハッシュの配列が配列に直接データをオーバーライドしています
@item_name = [{:name=>"usman", :desc=>"sample ", :unit_price=>100}]
とすぐに次の行がitem[:name] = Invoiceinfo.find(@invoiceinfo.id).item.name
を実行した後、それを直接@item_name変更(名前の変数) を実行すると、このデータがあるとした後
@item_name =[]
item = {}
@invoiceinfo.each do |invoice|
item[:name] = Invoiceinfo.find(@invoiceinfo.id).item.name
item[:desc] = Invoiceinfo.find(@invoiceinfo.id).desc
item[:unit_price] = Invoiceinfo.find(@invoiceinfo.id).unit_price
byebug
@item_name.push (item)
end
この
は私が を取得していますものです @ item_nameの内容が変更されました@item_name = [{:name => "next_name"、:desc => "sample"、:unit_price => 100}]
助けていただければ幸いです。あなたはRubyコードにルビーのパラダイムとベストプラクティスを使用することを検討している場合 Thannks
これは良い答えですが、間違っていることを明確にするために、値を繰り返し同じキーに再割り当てするだけです。 – OneNeptune