适用于在Rails Controller中处理来自API的外部数据的格式

时间:2015-02-16 16:09:24

标签: ruby-on-rails json

我是学习Rails以及如何从外部API处理数据的新手。我需要解析来自某个Google API的信息,并在我的索引视图中显示所有这些信息 - 例如:使用特定的google api显示事件控制器索引方法上的所有事件,并将其呈现在该控制器的索引视图中。

我目前正在为字符串获取NoMethodError(引用@googleUrl变量)。因此,它无法正确解析和呈现信息并在我的视图中显示它。什么是最好的(Rails)方式来解析信息并访问它?我是否需要向JSON.parse googleUrl添加一个步骤?我已经看过各种关于使用名为Unirest的宝石的帖子,但不知道是否有其他方式或最佳实践方式。还是jBuilder?

在事件控制器中:

def index
  base_url = 'url given from google api to use'
  key = ENV['GOOGLE_API_KEY']

  @googleUrl = base_url + key

respond_to do |format|
 format.html
 format.json {render json: @googleUrl}
 end
end

事件控制器的索引视图示例:

  <div>
    <ul>
      <% @googleUrl.each do |event| %>
       <li> <%= event.title %> </li>
    <% end %>
   </ul>
</div>

1 个答案:

答案 0 :(得分:1)

你可以像这样迭代这些标题:

<% (@books['items']).each do |item| %>
   <li> <%= item['volumeInfo']['title'] %> </li>
<% end>