2013-06-25 18 views
5

私はOmniauth Facebook Gem with Railsで作業しており、各ユーザーのために自分のアプリでプロファイルを選択する必要があります。Omniauth-Facebook Gemでプロファイル画像を追加する最も簡単な方法は何ですか?

GemでFacebookのユーザー名を取得するのと同じくらい簡単ですか、それともAmazon S3サーバーなどにアップロードする必要がありますか?

私のユーザモデル:

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.oauth_token = auth.credentials.token 
     user.oauth_expires_at = Time.at(auth.credentials.expires_at) 
     user.save! 
    end 

は明確な答えを見つけることができません。

更新

<b>IMAGE:</b> <%= @user.image %> 

おかげ

答えて

3

行うことは簡単です: 私のショーのページでは、それだけでURLが表示されます。また、サーバーにイメージを保存する必要はありません。あなたは単にfacebookからそれをフェッチすることができます。
があなたのUserモデルでimageフィールドを追加します:

rails generate migration addImageToUsers image:string 

はそれをattr_accessibleリストを追加します。ここ

は、私はそれを行う方法です。

は、その後、あなたの上記の方法では、画像のための次のリストを追加します。

user.image = auth.info.image 

これは、Facebookがユーザーの画像を保存する場所の直接のURLです。

authハッシュを使用すると、さまざまなサイズのユーザー画像を調べることができます。

+0

私はちょうど感謝を考え出した。正確にそれをした! Yey。私のショーページを除いて、URLだけを表示し、イメージは表示しません。上記のコードを追加しました。 –

+1

OK <%= link_to image_tag @ user.image%>;) –