对于每个循环 API 值

For each loop through API values

我无法找到列出我所有数据的正确方法,这里是我的设置。 @product.pic_url 将 return 5 张图片但只显示第一张图片我将如何遍历所有图片?

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

假设 Product#pic_url 实际上 returns 一个图像 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