我正在使用宝石考拉来获取Facebook好友。
如何将这些结果与数据库用户联系起来?
码
facebook = Koala::Facebook::API.new(params[:facebook_access_token])
friends = facebook.get_connections("me", "friends")
返回
[
{
"name": "Mick Fanning",
"id": "9523891481361"
},
{
"name": "Gabriel Medina",
"id": "9523891483211"
}
]
点子:
join = friends.map {|u| {
:user => user = User.where(provider_uid: u['id']).first,
:provider_uid => u['id'],
:name => u['name']
}}
这将产生大量查询......
如何加入两个记录并返回表数据?
答案 0 :(得分:1)
无论如何,似乎我有你的需要。先做查询。
users = User.where(provider_uid: friends.map { |h| h['id'] })
users.map do |u|
{
:user => u,
:provider_uid => u.id,
:name => friends.find { |f| f['id'] == u.id }['name']
}
end