0
나는 devise를 인증에 사용하고 있습니다. 그렇지처럼Devise SessionsController # 돌아 오는 길에 사용자를 생성합니다.
class SessionsController < Devise::SessionsController
before_action :set_user, only: :create
def create
if @user && [email protected]?
return redirect_to(new_activation_token_path) # prevent the user from logging in
else
super # default behavior
end
end
private
def set_user
@user = (params[:user].blank?) ?
User.new :
User.find_by(email: params[:user][:email])
end
end
그것은 나의 이해가 return redirect_to(some_path)
액션 일찍 반환 할 수 것입니다, 그러나 그것은 보인다 그들은 자신의 계정을 활성화하지 않은 때 로그인되는 사용자를 방지하기 위해 Devise::SessionsController#create
조치를 오버라이드 (override) 할 - 사용자가 아직 로그인하고 있습니다. 여기서 무엇을 놓치고 있습니까? 어떤 조건에 따라 사용자가 로그인하지 못하게하려면 어떻게해야합니까? , 오버라이드 (override) #active_for_authentication?
(here에서 촬영)를 User
모델에서
체크 아웃이 만족할만한 선택이 될 것입니다 유증에서 제공하는 확인 모듈을? [http://www.rubydoc.info/github/plataformatec/devise/master/Devise/Models/Confirmable](http://www.rubydoc.info/github/plataformatec/devise/master/Devise/Models/Confirmable) – kurenn