1. 経緯
userテーブルにflgを持たせて、0以外の人はログインさせたくないなぁ・・・
ということで調べてみたところ以下の内容でできました
2. 結果
appllication_controller.rb
before_action :sign_out_user, if: :user_signed_in?
protected
# ログイン後のパス
def after_sign_in_path_for(resource)
root_path
end
# flgが0以外はログアウトさせる
def sign_out_user
sign_out_and_redirect(current_user) if current_user.flg == 0
end
3. 詳しい内容
-
after_sign_in_path_for
ユーザーがログイン後、どこに飛ばすか
https://rubydoc.info/search/github/plataformatec/devise/master?q=after_sign_in_path_for -
sign_out_and_redirect
ユーザーがログイン後、ログアウトさせる
https://rubydoc.info/github/plataformatec/devise/master/Devise%2FControllers%2FHelpers:sign_out_and_redirect
4. ネットの記事
ネットの記事見てると以下の内容とかもあったんですが、サインアウトはHTTPリクエストからしか
受け付けないみたいで以下の書き方をしてもダメでした・・・。
redirect_to :controller=>"user/sessions", :action=>"destroy"
4. 最後に
いいね!もらえると励みになるのでよろしくお願いします!