2

私は omniauth-facebook gem を使用していますが、プロフィール写真が表示されないことを除いて、すべて完全に機能します。コードを挿入したときに画像を表示する代わりに、image_tag current_user.image.to_sまたはimage_tag current_user.image画像自体の代わりにテキストを表示します (Picture?type=normal、square、large など)。

omn​​iauth.rb

Rails.application.config.middleware.use OmniAuth::Builder do
provider :developer unless Rails.env.production?
provider :facebook, '166053726877178', 'df9249e9b70ef047e7a9456c7ebf9632',
:image_size => 'square'
end

およびuser.rb

class User < ActiveRecord::Base
  attr_accessible :email, :image, :name, :nickname, :provider, :uid
  has_many :pictures

def self.create_with_omniauth(auth)
  create! do |user|
    user.provider = auth["provider"]
    user.uid = auth["uid"]
    user.name = auth["info"]["name"]
    user.email = auth["info"]["email"]
    user.nickname = user.email.split("@").first
    user.image = auth["info"]["image"]
  end
end

acts_as_voter
end

問題は、このタイプのコードを使用すると、以前のアプリでは機能していましたが、ここでは機能しません。前もって感謝します

4

1 に答える 1

7

ユーザーの画像を取得するには、Facebookのプロフィール画像の種類ごとにこれらのコードを代わりに使用します

def largeimage
"http://graph.facebook.com/#{self.uid}/picture?type=large"
end
 def normalimage
"http://graph.facebook.com/#{self.uid}/picture?type=normal"
end

def smallimage " http://graph.facebook.com/# {self.uid}/picture?type=small" end

あなたの見解では

 <%= image_tag(current_user.largeimage)%>

等々

于 2013-07-26T00:23:50.160 に答える