Ruby - "kann nicht konvertieren Symbol in Integer", wenn Sie versuchen, Zugriff auf Daten im array

Hier ist ein Beispiel-array:

{"C1"=>[
        {:upc=>"51857195821952", :product_id=>"1234", :name=>"name", :price=>" $15 ", :color=>"green", :size=>"L", :description=>"descr"},
        {:upc=>"352353wegs", :product_id=>"456", :name=>"name2", :price=>"$21", :color=>"black", :size=>"S", :description=>"descr"}, # ...
       ],
 #...
}

Und hier, wie ich bin versucht zu Holen von Daten aus diesem array:

@array.each do |p|
  product = Product.new
  product.sku = p[0]
  product.name = p[1][0][:name] #can't convert Symbol into Integer
  price = p[1].select{ |pr| !pr[:price].nil? and pr[:price] != "0" }.min_by{ |i| i[:price].to_f }[:price]
  product.price = "%.2f" % (price.to_f)
  ...
end

Jedes mal, wenn ich versuchen zum abrufen von Daten aus dem array, ich bekomme auf der Linie product.name = den Fehler kann nicht konvertieren Symbol in Integer.

Was ist falsch in diesem Fall? Ich verbrachte einen Teil des nachmittags auf dieses Thema, aber leider habe ich noch nicht herausfinden, es...

Danke

Habe meine Antwort helfen @user984621 ?

InformationsquelleAutor user984621 | 2013-02-27

Schreibe einen Kommentar