Rails의 devise로 로그인하고 있을 때 신규 등록 화면, 로그인 화면에 가려고 하면 루트로 날아간다
하고 싶은 일
Rails의 devise를 사용하여
「로그인하고 있는 상태」일 때는
신규 등록 or 로그인 화면으로 날 수 없게 한다.
움직임
로그인할 때
신규 등록 or 로그인 화면으로 날으려고 하면
루트로 날아간다.
구현 방법
루트를 확인하면 다음과 같다.
신규 등록 > sign_up > devise/registrasions#new
로그인 > sign_in > devise/sessions#new
위 두 가지 액션 중
로그인한 경우 경로로 리디렉션되도록 설정합니다.
코드
신규 등록
app/controllers/users/registrations_controller.rb
class Users::RegistrationsController < Devise::RegistrationsController
# before_action :configure_sign_up_params, only: [:create]
# before_action :configure_account_update_params, only: [:update]
# GET /resource/sign_up
# newの部分のコメントアウトを外し、redirect_toを追加
def new
redirect_to :root if user_signed_in?
super
end
# POST /resource
〜〜〜〜〜
省略
〜〜〜〜〜
end
로그인
app/controllers/users/sessions_controller.rbclass Users::SessionsController < Devise::SessionsController
# before_action :configure_sign_in_params, only: [:create]
# GET /resource/sign_in
# newのコメントアウトを外してリダイレクト、ifを入れる
def new
redirect_to :root if user_signed_in?
super
end
# POST /resource/sign_in
〜〜〜〜
省略
〜〜〜〜
end
Reference
이 문제에 관하여(Rails의 devise로 로그인하고 있을 때 신규 등록 화면, 로그인 화면에 가려고 하면 루트로 날아간다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Kohei_Kishimoto0214/items/a6a4dbc88ce6a69b2963
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
루트를 확인하면 다음과 같다.
신규 등록 > sign_up > devise/registrasions#new
로그인 > sign_in > devise/sessions#new
위 두 가지 액션 중
로그인한 경우 경로로 리디렉션되도록 설정합니다.
코드
신규 등록
app/controllers/users/registrations_controller.rb
class Users::RegistrationsController < Devise::RegistrationsController
# before_action :configure_sign_up_params, only: [:create]
# before_action :configure_account_update_params, only: [:update]
# GET /resource/sign_up
# newの部分のコメントアウトを外し、redirect_toを追加
def new
redirect_to :root if user_signed_in?
super
end
# POST /resource
〜〜〜〜〜
省略
〜〜〜〜〜
end
로그인
app/controllers/users/sessions_controller.rbclass Users::SessionsController < Devise::SessionsController
# before_action :configure_sign_in_params, only: [:create]
# GET /resource/sign_in
# newのコメントアウトを外してリダイレクト、ifを入れる
def new
redirect_to :root if user_signed_in?
super
end
# POST /resource/sign_in
〜〜〜〜
省略
〜〜〜〜
end
Reference
이 문제에 관하여(Rails의 devise로 로그인하고 있을 때 신규 등록 화면, 로그인 화면에 가려고 하면 루트로 날아간다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Kohei_Kishimoto0214/items/a6a4dbc88ce6a69b2963
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
class Users::RegistrationsController < Devise::RegistrationsController
# before_action :configure_sign_up_params, only: [:create]
# before_action :configure_account_update_params, only: [:update]
# GET /resource/sign_up
# newの部分のコメントアウトを外し、redirect_toを追加
def new
redirect_to :root if user_signed_in?
super
end
# POST /resource
〜〜〜〜〜
省略
〜〜〜〜〜
end
class Users::SessionsController < Devise::SessionsController
# before_action :configure_sign_in_params, only: [:create]
# GET /resource/sign_in
# newのコメントアウトを外してリダイレクト、ifを入れる
def new
redirect_to :root if user_signed_in?
super
end
# POST /resource/sign_in
〜〜〜〜
省略
〜〜〜〜
end
Reference
이 문제에 관하여(Rails의 devise로 로그인하고 있을 때 신규 등록 화면, 로그인 화면에 가려고 하면 루트로 날아간다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Kohei_Kishimoto0214/items/a6a4dbc88ce6a69b2963텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)