2016-09-22 4 views
0

У меня возникли проблемы с поиском правильного способа перечисления всех моих данных здесь, это моя настройка. @product.pic_url вернет 5 изображений, но покажет только первый, как бы я перебирал их все?Для каждого цикла через значения API

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 

ответ

1

Предполагая, что Product#pic_url фактически возвращает массив URL изображений, вы могли бы сделать что-то вроде этого:

.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

Это на самом деле то, что я пытался раньше, но я не могу получить эту ошибку 'undefined method each for # ' – NooBskie

+0

За это сообщение об ошибке pic-url не является массивом, это строка. Если строка содержит несколько URL-адресов, вам необходимо извлечь их через split или что-то подобное. В противном случае вам нужно выяснить, почему pic-url не является массивом и исправить это - тогда этот код должен работать. – pdoherty926

+0

Ах, ладно, это так, потому что я вижу, могу ли я это понять – NooBskie

Смежные вопросы