Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 什么';在Rails中迭代此结构的最佳方式是什么?_Ruby On Rails_Ruby_Arrays_Etsy - Fatal编程技术网

Ruby on rails 什么';在Rails中迭代此结构的最佳方式是什么?

Ruby on rails 什么';在Rails中迭代此结构的最佳方式是什么?,ruby-on-rails,ruby,arrays,etsy,Ruby On Rails,Ruby,Arrays,Etsy,我是rails的新手,不知道如何遍历这些数据。这是集成etsy API的gem的输出。它看起来像一组散列,也许 output=[#<Etsy::Listing:0x5551ba8 @result={"listing_id"=>182661496, "title"=>"Edible Butterflies in Coral", "quantity"=>1, "price"=>"12.50", "ending_tsz"=>1405362199, "shipping

我是rails的新手,不知道如何遍历这些数据。这是集成etsy API的gem的输出。它看起来像一组散列,也许

output=[#<Etsy::Listing:0x5551ba8 @result={"listing_id"=>182661496, "title"=>"Edible Butterflies in Coral", "quantity"=>1, "price"=>"12.50", "ending_tsz"=>1405362199, "shipping_template_id"=>nil, "MainImage"=>{"url_75x75"=>"https://img1.etsystatic.com/036/0/8545731/il_75x75.576542775_ibud.jpg"}}, @token="token", @secret="secret">, 
#<Etsy::Listing:0x5551bc0 @result={"listing_id"=>182671909, "title"=>"Marshmallow Sampler Pack", "quantity"=>3, "price"=>"9.50", "ending_tsz"=>1405362468, "shipping_template_id"=>1680751676, "MainImage"=>{"url_75x75"=>"https://img1.etsystatic.com/021/0/8545731/il_75x75.576544537_n2zo.jpg"}}, @token="token", @secret="secret">, 
#<Etsy::Listing:0x5551bf0 @result={"listing_id"=>182663346, "title"=>"Gourmet popcorn and seasoning kit", "quantity"=>15, "price"=>"26.95", "ending_tsz"=>1405363087, "shipping_template_id"=>nil, "MainImage"=>{"url_75x75"=>"https://img0.etsystatic.com/026/0/8545731/il_75x75.576428850_r1mv.jpg"}}, @token="token", @secret">, 
#<Etsy::Listing:0x5551c08 @result={"listing_id"=>189414412, "title"=>"Sailor Tote Bag", "quantity"=>45, "price"=>"50.00", "ending_tsz"=>1410586221, "shipping_template_id"=>1024284528, "MainImage"=>{"url_75x75"=>"https://img0.etsystatic.com/039/0/8545731/il_75x75.576443100_slse.jpg"}}, @token="token", @secret="secret">]
output=[#182661496,“title”=>“珊瑚中的可食用蝴蝶”,“数量”=>1,“价格”=>“12.50”,“ending#tsz”=>1405362199,“shipping#u模板id”=>nil,“main image”=>{“url#u 75x75”=>”https://img1.etsystatic.com/036/0/8545731/il_75x75.576542775_ibud.jpg“},@token=”token“,@secret=”secret“>,
#182671909,“标题”=>“棉花糖采样器包”,“数量”=>3,“价格”=>“9.50”,“收尾”=>1405362468,“配送模板id”=>1680751676,“主图像”=>{“url\u 75x75”=>”https://img1.etsystatic.com/021/0/8545731/il_75x75.576544537_n2zo.jpg“},@token=”token“,@secret=”secret“>,
#182663346,“标题”=>“美食爆米花和调味品套件”,“数量”=>15,“价格”=>26.95”,“结尾”=>1405363087,“配送模板id”=>nil,“主图像”=>{“url\U 75x75”=>”https://img0.etsystatic.com/026/0/8545731/il_75x75.576428850_r1mv.jpg“},@token=”token“,@secret”>,
#189414412,“标题”=>“水手手提袋”,“数量”=>45,“价格”=>“50.00”,“结束”=>1410586221,“装运模板id”=>1024284528,“主图像”=>{“url\u 75x75”=>”https://img0.etsystatic.com/039/0/8545731/il_75x75.576443100_slse.jpg“},@token=“token”,@secret=“secret”>]
我尝试过的方法似乎都不管用。将其视为数组对某些事情有效,例如:output.length正确地返回4。但是output[0]返回时没有任何其他数据。我真正需要的是@result={}.Ideas中包含的内容。谢谢!

您写道:

它看起来像一组散列,也许

output=[#<Etsy::Listing:0x5551ba8 @result={"listing_id"=>182661496, "title"=>"Edible Butterflies in Coral", "quantity"=>1, "price"=>"12.50", "ending_tsz"=>1405362199, "shipping_template_id"=>nil, "MainImage"=>{"url_75x75"=>"https://img1.etsystatic.com/036/0/8545731/il_75x75.576542775_ibud.jpg"}}, @token="token", @secret="secret">, 
#<Etsy::Listing:0x5551bc0 @result={"listing_id"=>182671909, "title"=>"Marshmallow Sampler Pack", "quantity"=>3, "price"=>"9.50", "ending_tsz"=>1405362468, "shipping_template_id"=>1680751676, "MainImage"=>{"url_75x75"=>"https://img1.etsystatic.com/021/0/8545731/il_75x75.576544537_n2zo.jpg"}}, @token="token", @secret="secret">, 
#<Etsy::Listing:0x5551bf0 @result={"listing_id"=>182663346, "title"=>"Gourmet popcorn and seasoning kit", "quantity"=>15, "price"=>"26.95", "ending_tsz"=>1405363087, "shipping_template_id"=>nil, "MainImage"=>{"url_75x75"=>"https://img0.etsystatic.com/026/0/8545731/il_75x75.576428850_r1mv.jpg"}}, @token="token", @secret">, 
#<Etsy::Listing:0x5551c08 @result={"listing_id"=>189414412, "title"=>"Sailor Tote Bag", "quantity"=>45, "price"=>"50.00", "ending_tsz"=>1410586221, "shipping_template_id"=>1024284528, "MainImage"=>{"url_75x75"=>"https://img0.etsystatic.com/039/0/8545731/il_75x75.576443100_slse.jpg"}}, @token="token", @secret="secret">]
它是一个对象数组。每个对象都是一个
Etsy::Listing
实例。您应该能够在Rails控制台上执行此操作:

> listing = output.first
#=> <Etsy::Listing:0x5483418>
> listing.result
#=> {"listing_id"=>182661496, …}

看来你没读到:


您是否尝试过
output.first.result
?@wickedpixel确保您接受一个答案(无论哪个答案对您有帮助),以便它将来能够帮助其他人。快速跟进-如何从MainImage获取键/值对?我尝试过
listing.MainImage.each_对{k,v | put“{k.inspect}:{v}”
但这只会导致
nomethoder错误的未定义方法“main image”
您是否尝试了
列出。image
?请看。@wickedpixel如果某个答案适合您,请对其进行投票。您可以并且应该对任何您认为有用的答案进行投票。谢谢!
listings = output.map do |listing| 
  { 
    "title"    => listing.title, 
    "quantity" => listing.quantity, 
    "price"    => listing.price
  }
end