2

我正在使用omniauth-facebook gem,一切正常,除了个人资料图片不会显示;而不是在我输入代码时显示图片,image_tag current_user.image.to_s或者image_tag current_user.image它显示文本(说图片?类型=正常,方形,大)而不是图片本身。

全域认证.rb

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

和用户.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" 结束

在你看来

 <%= image_tag(current_user.largeimage)%>

等等

于 2013-07-26T00:23:50.160 回答