Ruby on rails ActiveRecord查询工作不正常
我正在使用考拉api查询FacebookRuby on rails ActiveRecord查询工作不正常,ruby-on-rails,facebook,activerecord,facebook-fql,Ruby On Rails,Facebook,Activerecord,Facebook Fql,我正在使用考拉api查询Facebook @result = @graph.fql_query("select uid, name, pic_square FROM user WHERE is_app_user AND uid IN (SELECT uid2 FROM friend WHERE uid1 = me())") 我想通过查询我的ActiveRecords“shot”来丢弃object@result的一些实例: 我有以下问题。似乎: 1.y1始终设置为有效,但程序不会崩溃 2.如果我
@result = @graph.fql_query("select uid, name, pic_square FROM user WHERE is_app_user AND uid IN (SELECT uid2 FROM friend WHERE uid1 = me())")
我想通过查询我的ActiveRecords“shot”来丢弃object@result的一些实例:
我有以下问题。似乎:
1.y1始终设置为有效,但程序不会崩溃
2.如果我将y1替换为y1[0],程序将崩溃
如果有人给我指点,我将不胜感激。谢谢 我终于找到了答案:f3[“uid”]。\s。F3[“uid”]需要转换为字符串。谢谢@Anthony的帮助 此外,在rails控制台中,y1的行为正确,它可能意味着
,其中不返回任何内容,即空数组。试图访问第一个元素会使所有内容崩溃。记录您的SQL请求,以确保它们会返回something@AnthonyAlberto谢谢,我会调查的@但似乎y1产生的是真的。如果“Where”返回零,那么如果y1生成false,是否会返回零?谢谢@你说得对,它什么也没带来。但我不明白为什么。此外,如果它没有带来任何回报,那么为什么“IfY1”会产生真的结果呢?另外,xUid、xName和xPicture也可以获得正确的值。再次感谢!
@result.each do |f3|
y1 = Shoot.where(:uid1 => f3["uid"])
@y2 = y1
if y1
xtUid = f3["uid"]
xName = f3["name"]
xPicture = f3["pic_square"]
....
end
...
end