2015-08-18 5 views
0

Я использую драгоценный камень Koala, чтобы получить друзей в 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

Сообщите мне свое требование в _pain_ english и позвольте мне дать вам код обратно :) –

ответ

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