次のような値を返すAPI呼び出しからハッシュを取得しています。
[{"name"=>"Abby Allen", "id"=>"123"}, {"name"=>"Barry Burner", "id"=>"234"}, {"name"=>"Cat Catrelli", "id"=>"345"}, {"name"=>"Darrell Dogooder", "id"=>"456"}, {"name"=>"Eva Ewing", "id"=>"567"}]
このハッシュのIDを、データベース(ユーザーモデル)に現在ある「apiid」列と比較し、ハッシュと「apiid」列に共通するすべてのIDを返します。
つまり、ユーザーモデルのapiid列は次のようになります
apiid
001
123
125
333
345
私はそれをこのように試していましたが、どんな提案でもそれを機能させることができません。最終的にはapiid列が長くなるので、最も効率的な方法も探しています。
User.find_each(:select => "apiid") do |user|
@friendscommon = @friends.select{|key, hash| hash["id"] == user }
end
ここで、@friendsは上記のハッシュです。
任意の提案をいただければ幸いです。ありがとうございました!