前提
こちらを参考にして、
RailsでFacebookログインを実装しました。
性別を入手したい
...ですが、いまいちできません。
下記のコードでは、FBログイン後のユーザが、必ず女性になってしまいます。
自分自身(男)のFBアカウントでログインしてもです。
おそらく if auth.info.gender == "male"
の部分が誤りです。
それはわかるのですが、どうやってFacebookから性別を引き出すのかが
いまいち情報を入手することができませんでした。
ご教授いただける方よろしくお願いします。
models/user.rb
############enumを利用しています###############3 enum gender: { male: 0, female: 1 } ############enumを利用しています###############3 def self.from_omniauth(auth) user = User.where('email = ?', auth.info.email).first if user.blank? user = User.new end user.uid = auth.uid user.name = auth.info.name user.provider = "facebook" ############この方法ではだめでした###############3 if auth.info.gender == "male" user.gender = 0 else user.gender = 1 end ############この方法ではだめでした###############3 user.email = auth.info.email user.fbimg = auth.info.image user.password = ((0..9).to_a + ("a".."z").to_a + ("A".."Z").to_a).sample(10).join+"a1" user.oauth_token = auth.credentials.token user.oauth_expires_at = Time.at(auth.credentials.expires_at) user end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/12/13 12:46