できた!と思ったら別の問題発生

さて、一眠りして若干スッキリしたので続きをやっていこう。

Now we just add the file app/controllers/users/omniauth_callbacks_controller.rb:

とか書かれてるのでファイルを作ればいいのか。

・・って思ったけどコントローラーのところにユーザフォルダがないやないか。

※地味な手作業でフォルダとファイルを作成。

スクリーンショット 2017-08-15 15.13.27.png

よし、これでいいか。

んで、その間に

class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
  def facebook
    # You need to implement the method below in your model (e.g. app/models/user.rb)
    @user = User.from_omniauth(request.env["omniauth.auth"])

    if @user.persisted?
      sign_in_and_redirect @user, :event => :authentication #this will throw if @user is not activated
      set_flash_message(:notice, :success, :kind => "Facebook") if is_navigational_format?
    else
      session["devise.facebook_data"] = request.env["omniauth.auth"]
      redirect_to new_user_registration_url
    end
  end

  def failure
    redirect_to root_path
  end
end

こやつをそのまま挿入。。

って思ったけどこれ1行目思っ切りかぶっとるやないか。 仕方ないので全選択からのペーストで上書きしてしまう。

よし、こっからテンポ良くいきたい

This action has a few aspects worth describing: この辺りはただ単に説明してるだけっぽいのでスルー。

次にモデルの方のuser.rbに

def self.from_omniauth(auth)
  where(provider: auth.provider, uid: auth.uid).first_or_create do |user|
    user.email = auth.info.email
    user.password = Devise.friendly_token[0,20]
    user.name = auth.info.name   # assuming the user model has a name
    user.image = auth.info.image # assuming the user model has an image
    # If you are using confirmable and the provider(s) you use validate emails, 
    # uncomment the line below to skip the confirmation emails.
    # user.skip_confirmation!
  end
end

これを前回のdeviseでメソッドを追加したとこの直下に追加。スクリーンショット 2017-08-15 15.24.10.png

これでよし。

コメントアウトしてる部分は削除するべきか迷ったけど とりあえず残しておくことに。

よし、これで多分一通りの設定ができたので 実際にブラウザで確認してみる。

まずはアカウント作成ページ。スクリーンショット 2017-08-15 15.30.50.png

ログインの下あたりにSign in with Facebookとあるので これで大丈夫。

次にログインページ。スクリーンショット 2017-08-15 15.30.57.png

ここにも同じようにSign in with Facebookがあるのでリンクはできた。

さて、あとは実際にFacebookから登録できれば完了としよう。

ドキドキ。。スクリーンショット 2017-08-15 15.33.46.jpeg

っしゃぁぁぁぁぁぁ! でけたーーーーーーーーー!!

よし、ログインぽちー。

 

ん?登録できてない・・・。

はっ!?しまったfacebook自体にアドレス登録してなかった!! 急いで設定しな!

スクリーンショット 2017-08-16 10.01.45.jpeg

ギャアァァァァァァァァ。。

これ、丸一日またなあかんやつ違うの。。

 

あーあ。やる気なくなった 寝よっかな←

 

ではー。

この記事をシェアする