我使用Instagram API获取用户的照片Feed。输出看起来像这样:
[#<Hashie::Mash attribution=nil caption=nil comments=#<Hashie::Mash count=0 data=[]> created_time="1330231732" filter="Sutro" id="1403234234201396589_3002382" images=#<Hashie::Mash low_resolution=#<Hashie::Mash height=306 url="http://distilleryimage5.s3.amazonaws.com/8fd08dfsdfsdf111e180d51231380fcd7e_6.jpg" width=306>
我可以愉快地循环并显示所有图像或使用它的特定图像:
Instagram.user_recent_media(@client.user.id).each do |test|
%img{:src=>"#{test.images.low_resolution.url}"}
如何获得随机结果并限制只显示一个图像?我尝试过使用limit(x),但是会抛出错误。我只是想随机显示一个图像,而不是整个流。
答案 0 :(得分:1)
media = Instagram.user_recent_media(@client.user.id)
puts media.class
给出:
Array
知道它是一个数组,然后你可以使用sample
方法轻松获得一个随机元素:
random = media.sample
puts "#{random.images.low_resolution.url}"
注意sample
方法在Ruby 1.8.7中被命名为choice
。