Je souhaite créer un tableau de hachages. Mais le problème est après la première itération lorsque le code passe à la ligne suivante, il remplace directement le contenu du tableau.Un tableau de hachages remplace les données directement dans le tableau
@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
C'est ce que je reçois après la première itération suppose que j'ai ces données
@item_name = [{:name=>"usman", :desc=>"sample ", :unit_price=>100}]
Dès que la ligne suivante est exécutée, elle @item_name change directement (variable nom) Après l'exécution item[:name] = Invoiceinfo.find(@invoiceinfo.id).item.name
le contenu du @item_name est modifié
@item_name = [{: name => "next_name",: desc => "échantillon",: unit_price => 100}]
Toute aide serait appréciée. Thannks
Il y a une bonne réponse, mais de clarifier ce que vous faites mal, vous êtes juste réaffectant la valeur aux mêmes touches plus et plus. – OneNeptune