Check if user is active before allowing user to sign in with devise (rails)

前端 未结 2 2148
挽巷
挽巷 2020-12-24 12:43

I am using devise and created a User field called :active which is either true or false. I have to manually make the user active (true) before the user is allowed to log in

2条回答
  •  自闭症患者
    2020-12-24 13:21

    Devise (If you have devise 3.2+) now support block parameter in (session) create

    # assuming this is your session controller
    
    class SessionsController < Devise::SessionsController
    
    def create
      super do |resource|
         unless resource.active?
          sign_out
          # you can set flash message as well.
          redirect_to :sorry_not_active_url
          return
        end
      end
    end
    

提交回复
热议问题