Facebook グラフ API を使用して、ユーザーの友達リストを取得しようとしています。しかし、私のアプリは最初のユーザーの友達リストしかリストできません。たとえば、ユーザー 6 のフレンド リスト 6 を開くと、フレンド リスト 1 の内容が表示されます。理由を知っている人はいますか?あなたの時間と助けに感謝します!!
user.rb
class User < ActiveRecord::Base
has_many :friends
def self.from_omniauth(auth)
where(auth.slice(:provider, :uid)).first_or_initialize.tap do |user|
user.provider = auth.provider
user.uid = auth.uid
user.name = auth.info.name
user.email = auth.info.email
user.oauth_token = auth.credentials.token
user.oauth_expires_at = Time.at(auth.credentials.expires_at)
user.save!
end
end
def friendslist
facebook {|fb| fb.get_connection("me", "friends")}.each do |hash|
self.friends.where(:name => hash['name'], :uid => hash['id']).first_or_create
end
end
private def facebook
@facebook ||= Koala::Facebook::API.new(oauth_token)
end
end
user.html.erb
**<table>
<tr>
<th>Name</th>
<th>Email</th>
<th>Friends</th>
</tr>
<% @user.each do |user| %>
<tr>
<td><%= user.name %></td>
<td><%= user.email %></td>
<td> <%= link_to "View Friends List", friend_path(user) %></td>
</tr>
<% end %>
</table>**
友人.html.erb
**<table>
<tr>
<th>Friends</th>
</tr>
<% @friend.each do |friend| %>
<tr>
<td>
<%= friend.name %>
</td>
</tr>
<% end %>
</table>**
フレンドコントローラー
class FriendController < ApplicationController
def index
@friend = Friend.all
respond_to do |format|
format.html
format.json { render json: @friend }
end
end
end