JSON

2016-03-27 8 views
-1

kullanarak Tamsayıya Tamsayıya dolaylı olarak dönüştürülme Şu anda belirli bir JSON alanını görüntülemeye çalışıyor ancak bunu yapmaya çalışırken bu hatayı alıyorsunuz.JSON

Kontrolör

require 'httparty' 
require 'json' 

class CatalogController < ApplicationController 

    # GET /feeds 
    # GET /feeds.json 
    def index 
     # GRAB THE URL 
     url = 'https://api.import.io/store/connector/ab589079-436a-47da-923c-c77cb572491d/_query?input=webpage/url:http%3A%2F%2Flinxspiration.com%2F%23_%3D_&&_apikey=dc9014801ce443229a302ec1db31bc7683360af6669d43767164345452e9faef39e958817471e8c77f894d1032293acc8656cefa3df03123ee06a331f313c7f131ed345f4bf0fa8f460a80a6e9c4cbc1' 
     response = HTTParty.get(url) 

     # PARSE THE RESPONSE 
     @elements = response.parsed_response["results"] 
     @parsed = @elements["results"]["media_images"] 

    end 

end 

Görünüm

<%= @parsed %> 
+0

hangi tarih: Böyle diziye toplayabilir? –

cevap

2

response.parsed_response["results"] sonucu, bir karma dizisidir. Yani bir tane 'media_images' yok. Dizinin her öğesi için media_images var. hat hatadır

@parsed = @elements.collect { |e| e['media_images'] }

+0

Her bir görüntüyü görünümümde görüntülemeye nasıl giderim? Örneğin. <% = @ parsed.each do%>? – Jonathan

+0

Evet <% @ parsed.each do | img | %> <% = image_tag (img)%> <% end %> –

+0

Teşekkürler! Büyük yardım! – Jonathan

0

istisna bana bir Hash olarak Array erişmeye çalışıyorsanız düşündürüyor. Array s bir dizin aldığından, Ruby geçirilen anahtarı Array dizinine dönüştürmeye çalışıyor.

Kodunuzu rails console numaralı telefondan deneyin ve dikkatli bir şekilde adım adım ilerleyin.