0

我正在使用宝石考拉来获取 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']
}}

这将产生很多查询......

如何连接两条记录并返回表数据?

4

1 回答 1

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
于 2015-08-18T18:41:44.140 回答