【发布时间】:2013-09-23 05:49:16
【问题描述】:
我将 JSON 数据发送到解析它的控制器。
ROR 代码
Class.where(challenge_id:challenge.id,song_id:song_hash['song_id']).first
错误是
can't convert String into Integer
我什至将song_id:song_hash['song_id'] 更改为song_id:song_hash['song_id'].to_i,但它没有用
哈希数据是
{"session_token"=>"Xt9toEzHI3bYXeJNkenyqg", "challenge"=>{"challenge_id"=>"15", "player_name"=>"usman", "guessed_songs"=>{"0"=>{"song_id"=>"10", "guessed"=>"YES"}, "1"=>{"song_id"=>"11", "guessed"=>"YES"}, "2"=>{"song_id"=>"12", "guessed"=>"YES"}, "3"=>{"song_id"=>"13", "guessed"=>"YES"}, "4"=>{"song_id"=>"15", "guessed"=>"YES"}}, "player_status"=>{"0"=>{"coins"=>"20", "points"=>"0", "player_name"=>"usman"}, "1"=>{"coins"=>"20", "points"=>"0", "player_name"=>"Usman"}}}}
找不到未转换为整数的内容
【问题讨论】:
-
您提供的 JSON DATA 根本不是
json。{"song_id":q1,"guessed":"YES"}不是json。 {"song_id":"q1","guessed":"YES"} 是json。注意双引号 -
除此之外,线索是“song_id”:q1。 q1 什么都不是。不是字符串,也不是整数。但是rails期望song_id是一个整数,但它无能为力
-
@Vineeth 实际上 Q1、Q2 是变量。数据是整数假设 1,2,3,4,5.. 我编辑了 Q
-
这是什么
challenge.id?是整数吗 -
你能用 pry 或 debugger 来检查前一行,然后发布 challenge.id 和 song_hash['song_id'] 的值吗?
标签: ruby-on-rails ruby json hash