我目前正在尝试在连接到OMBD api的Ruby on Rails中构建一个简单的Web应用程序。我是Ruby的新手,也是一般的编码。我正在尝试运行FOR循环来从搜索查询中收集所有标题。这是我的方法
def self.findAllTitles(title)
allresponses = []
for page in 1..100 do
url="http://www.omdbapi.com/?s=#{title}&page=#{page}"
response = HTTParty.get(url)
responsebody = JSON.parse(response.body)
allresponses.concat(responsebody)
end
return allresponses []
end
我的观点中的代码:
<% @responsealltitles.each do |result| %>
<td><%= result["Title"] %></td>
<td><%= result["Year"] %></td>
尝试运行应用程序时出现以下错误:
没有将Hash隐式转换为数组
提取的来源(第11行): puts responsebody = JSON.parse(response.body)
有人可以帮忙吗?
答案 0 :(得分:0)
您获得的回复不是哈希值。这是一系列哈希。请尝试打印出responsebody [0]。
responsebody = [{}, {}]
我猜您的回复正如上面的代码一样。调用reponsebody [0]将取出数组中的第一个元素(即你需要的响应哈希)。