2015-03-04 3 views
0

noob вопрос, у меня есть этот обертка https://github.com/wnadeau/wunderground, который получает данные о погоде через API с сайта wunderground.com Я пробовал его в консоли rails и возвращает Json массив/хэш? я пытаюсь сделать что-то вроде регулятора:, представляющий элементы в рубине на рельсах из wunderground api wrapper

def index 
@w_api=Wunderground.new("MY_API_KEY") 
w_api.forecast_for("WA","Spokane") 

end 

and in my view something like 



<table> 
    <tbody> 
     <tr> 


     <% @w_api %> 
     </tr> 
    </tbody> 
</table> 

я не получаю ничего, на мой взгляд.

ответ

0

Проблема с синтаксисом в вашем представлении. Вы использовали:

<% @w_api %> 

но и сделать для просмотра, вам необходимо изменить его:

<%= @w_api %> 

<% %> просто выполняет код, но «результат» <%= %> выходы выражения.

Но это все еще может иметь проблемы с отображением того, что хранится в вашем @w_api. От вашего кода, я думаю you'r пытается отладки/увидеть, что структура/данные хранятся в переменной, в этом случае вы должны попробовать:

<%= p @w_api %> 

Надежда, что помогает!

0

спасибо, однако я сделал это неправильный путь я think..had изменить его и удалить @ так что теперь

w_api=Wunderground.new("MY_API_KEY") 

но did'nt дать любой выход, так что я добавил

@W=w_api.forecast_for("WA","Spokane") 

Почему я должен удалить @ ?.

с точки зрения я назвал @w

<td><%= @w %></td> 

теперь я получаю результат

{ 
    "response"=>{ 
     "version"=>"0.1", 
     "termsofService"=>"http://www.wunderground.com/weather/api/d/terms.html", 
     "features"=>{ 
      "forecast"=>1 
     } 
    }, 
    "forecast"=>{ 
     "txt_forecast"=>{ 
      "date"=>"8:27 AM PST", 
      "forecastday"=>[ 
       { 
        "period"=>0, 
        "icon"=>"partlycloudy", 
        "icon_url"=>"http://icons.wxug.com/i/c/k/partlycloudy.gif", 
        "title"=>"Thursday", 
        "fcttext"=>"A mix of clouds and sun. High 51F. Winds SSW at 5 to 10 mph.", 
        "fcttext_metric"=>"A mix of clouds and sun. High near 10C. Winds SSW at 10 to 15 km/h.", 
        "pop"=>"0" 
       }, 
       { 
        "period"=>1, 
        "icon"=>"nt_clear", 
        "icon_url"=>"http://icons.wxug.com/i/c/k/nt_clear.gif", 
        "title"=>"Thursday Night", 
        "fcttext"=>"Mostly clear. Low 27F. Winds light and variable.", 
        "fcttext_metric"=>"Mostly clear. Low -2C. Winds light and variable.", 
        "pop"=>"0" 
       }, 

однако, когда я перейти непосредственно на страницу JSON API я получаю:

{ 
    "response": { 
    "version":"0.1", 
    "termsofService":"http://www.wunderground.com/weather/api/d/terms.html", 
    "features": { 
    "forecast": 1 
    } 
    } 
     , 
    "forecast":{ 
     "txt_forecast": { 
     "date":"4:28 AM PST", 
     "forecastday": [ 
     { 

разница равна => и нет массива []

- это первый список объектов и второй массив? как извлечь значения? thx!

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