2016-03-27 10 views
-1

現在、JSONの特定のフィールドを表示しようとしていますが、このエラーが発生しています。JSONを使用してStringをIntegerに暗黙的に変換しない

コントローラ

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 

ビュー

<%= @parsed %> 
+0

どのような行にエラーがありますか? –

答えて

2

response.parsed_response["results"]の結果は、ハッシュの配列です。だからあなたは 'media_images'を持っていない。配列のすべての要素に対して、media_imagesがあります。

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

+0

ビュー内で各画像を表示するにはどうすればいいですか?例えば<%= @ parsed.each do%>? – Jonathan

+0

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

+0

ありがとうございました!素晴らしい助け! – Jonathan

0

例外は、私はあなたがHashとしてArrayにアクセスしようとしていると思います。 Arrayはインデックスを取得するため、Rubyは渡されたキーをインデックスに変換しようとしています。

コードをrails consoleで試してみてください。

関連する問題