2016-03-27 2 views
-1

В настоящее время вы пытаетесь отобразить определенное поле JSON, но получая эту ошибку при попытке сделать это.Неявное преобразование String в Integer с использованием JSON

Контроллер

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

Исключение заставляет меня думать, что вы пытаетесь получить доступ к Array как Hash. Поскольку Array s принимает индекс, Ruby пытается превратить переданный ключ в индекс Array.

Попробуйте ввести код в rails console и тщательно проведите его.

Смежные вопросы