0

Userを介してアバターのアップロードを処理するモデルがAvatarUploaderマウントされましたDevise。そして、応答は問題ありません:

"avatar": {
      "url": "http://185.48.228.95/uploads/user/avatar/avatar.png"
    }

しかし、ユーザーが Facebook ( Koalagem) 経由で登録すると、彼のプロフィール写真は Carrierwave によって処理されます (私はこれを望んでいません)。

Facebook 登録用にアバターを設定したユーザー コントローラーの部分:

image = @graph.get_object("me?fields=picture.type(large)")
avatar = image['picture']['data']['url'].to_s
@user["avatar"] = avatar

これはうまくいきます。Carrierwave AvatarUploader によって処理され、現在の応答が得られる理由を少し説明します。有効な URL ではありません。

"avatar": {
  "url": "http://185.48.228.95/uploads/user/avatar/https%3A/scontent.xx.fbcdn.net/v/t1.0-1/p200x200/11133815_976100819074773_1891085821809120990_n.jpg%3Foh%3D3bd392a5fdb9c5f1e3e6b01b8d47a1c0%26oe%3D590010A0"
}

正しい FB アバター リンクを設定するにはどうすればよいですか?

4

1 に答える 1

1

Carrierwaveには、そのような目的のためのヘルパーがあることが判明しました

@user.remote_avatar_url = image['picture']['data']['url']

于 2017-02-17T12:31:48.160 に答える