2016-09-22 4 views
0

Ich habe Probleme, die richtige Möglichkeit zu finden, alle meine Daten hier aufzulisten, ist meine Einrichtung. @product.pic_url gibt 5 Bilder zurück, zeigt aber nur die erste, wie würde ich sie alle durchlaufen?Für jede Schleife durch API-Werte

product.rb

class TaobaoProduct 
    attr_reader :desc, 
       :approve_status, 
       :title, 
       :item_url, 
       :nick, 
       :num_iid, 
       :pict_url, 
       :pic_url, 
       :title, 
       :volume, 
       :zk_final_price, 
       :reserve_price, 
       :price, 
       :detail_url, 
       :cid 

    attr_writer :title 

    def initialize(product) 
    product.each { |name, value| instance_variable_set("@#{name}", value) } 
    end 

    # function to get individual taobao product 
    # product_id: Taobao product id 
    def self.find(product_id) 
    tb_hash = OpenTaobao.get(
     :method => 'taobao.item.get', 
     :fields => 'num_iid,title,nick,desc,pic_url', 
     :num_iid => product_id 
    ) 
    new(tb_hash["item_get_response"]["item"]) 
    end 
end 

product.haml

.container 
    .row 
    .col-xs-12 
     %h1= @product.title 

    .row 
    .product-v2.col-md-9 
     .row 
     .col-md-6.col-xs-12 
      %img{:src => "#{@product.pic_url}" + "_400x400.jpg"} 
     .col-md-6.col-xs-12 
      .price-v2 

Antwort

1

Unter der Annahme, Product#pic_url tatsächlich eine Reihe von Bild-URLs gibt, könnten Sie so etwas tun:

.container 
    .row 
    .col-xs-12 
     %h1= @product.title 

    .row 
    .product-v2.col-md-9 
     .row 
     .col-md-6.col-xs-12 
      - @product.pic_url.each do |url| 
      %img{:src => "#{url}_400x400.jpg"} 
     .col-md-6.col-xs-12 
      .price-v2 
+0

Das ist eigentlich was Ich habe es früher versucht, aber ich kann diesen Fehler nie undefiniert Methode für # ' – NooBskie

+0

übergeben. Pro diese Fehlermeldung ist Pic-URL kein Array, es ist eine Zeichenfolge. Wenn die Zeichenfolge mehrere URLs enthält, müssen Sie sie über eine Teilung oder Ähnliches extrahieren. Andernfalls müssen Sie herausfinden, warum Pic-URL kein Array ist und das beheben - dann sollte dieser Code funktionieren. – pdoherty926

+0

Ahh in Ordnung, das macht seither krank, ob ich es herausfinden kann – NooBskie