devise로 로그아웃 시 확인 페이지로 전환
6024 단어 Railsdevise세션registration루비
소개
rails에서 devise를 시도한 로그인 로그아웃 기능을 구현하고 있으며,
로그 아웃했을 때 확인 페이지로 전환하도록 구현했습니다.
넘어졌기 때문에 기사로 하려고 합니다.
더 좋은 방법이라면 코멘트 란이나 편집 요청에 기재 바랍니다.
버전 정보
전제 조건
컨트롤러 변경
sessions_controller의 respond_to_on_destroy가 기본적으로 작성되었습니다.
root_path로 전환되었습니다.
그래서 여기 코드를 삭제합니다.
거기에 render '천이처 URL'을 기술하는 것으로 URL처의 페이지로 천이할 수 있습니다.
# controllers/users/sessions_controller.rb
def destroy
signed_out = (Devise.sign_out_all_scopes ? sign_out : sign_out(resource_name))
set_flash_message! :notice, :signed_out if signed_out
yield if block_given?
respond_to_on_destroy #デフォルトの記述 ← コード削除
render '遷移先URL' #renderで遷移先のURLを記述 ← コード記入
end
View 만들기
users/destoroy
에 destroy.html.haml 파일을 만들었습니다.
%h1 ログアウトしました。
= link_to "マイページに戻る", "/"
컨트롤러 사용자 정의
sesstions: "users/sessions"를 추가하여 sessions를 사용자 정의했습니다! !
devise_for :users, controllers: {
registrations: "users/registrations",
sessions: "users/sessions" #カスタマイズ
}
라우팅 사용자 정의
라우팅도 사용자 정의합니다!
HTTP 메서드 : delete, URL, 컨트롤러 이름 # 액션 이름
devise_scope :user do
get 'profiles', to: 'users/registrations#new_profile'
post 'profiles', to: 'users/registrations#create_profile'
get 'addresses', to: 'users/registrations#new_address'
post 'addresses', to: 'users/registrations#create_address'
delete 'users/destroy', to: 'devise/sessions#destroy' #追記
end
두 가지를 함께routes.rb
devise_for :users, controllers: {
registrations: "users/registrations",
sessions: "users/sessions" #カスタマイズ
}
devise_scope :user do
get 'profiles', to: 'users/registrations#new_profile'
post 'profiles', to: 'users/registrations#create_profile'
get 'addresses', to: 'users/registrations#new_address'
post 'addresses', to: 'users/registrations#create_address'
delete 'users/destroy', to: 'devise/sessions#destroy' #追記
end
요약
아직 MVC의 이해가 없다고 느꼈습니다.
냉정해지고 생각하자마자 해결할 수 있었던 문제였습니다.
그리고 마크다운 쓰는 방법에도 고전하고 있습니다.
기사 쓰는데 엄청난 시간이 걸려 버려서 빨리 되지 않으면…
더 출력합니다.
쇼마
Reference
이 문제에 관하여(devise로 로그아웃 시 확인 페이지로 전환), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/choma63/items/6a4d697ded99d278d1f8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# controllers/users/sessions_controller.rb
def destroy
signed_out = (Devise.sign_out_all_scopes ? sign_out : sign_out(resource_name))
set_flash_message! :notice, :signed_out if signed_out
yield if block_given?
respond_to_on_destroy #デフォルトの記述 ← コード削除
render '遷移先URL' #renderで遷移先のURLを記述 ← コード記入
end
users/destoroy
에 destroy.html.haml 파일을 만들었습니다.%h1 ログアウトしました。
= link_to "マイページに戻る", "/"
컨트롤러 사용자 정의
sesstions: "users/sessions"를 추가하여 sessions를 사용자 정의했습니다! !
devise_for :users, controllers: {
registrations: "users/registrations",
sessions: "users/sessions" #カスタマイズ
}
라우팅 사용자 정의
라우팅도 사용자 정의합니다!
HTTP 메서드 : delete, URL, 컨트롤러 이름 # 액션 이름
devise_scope :user do
get 'profiles', to: 'users/registrations#new_profile'
post 'profiles', to: 'users/registrations#create_profile'
get 'addresses', to: 'users/registrations#new_address'
post 'addresses', to: 'users/registrations#create_address'
delete 'users/destroy', to: 'devise/sessions#destroy' #追記
end
두 가지를 함께routes.rb
devise_for :users, controllers: {
registrations: "users/registrations",
sessions: "users/sessions" #カスタマイズ
}
devise_scope :user do
get 'profiles', to: 'users/registrations#new_profile'
post 'profiles', to: 'users/registrations#create_profile'
get 'addresses', to: 'users/registrations#new_address'
post 'addresses', to: 'users/registrations#create_address'
delete 'users/destroy', to: 'devise/sessions#destroy' #追記
end
요약
아직 MVC의 이해가 없다고 느꼈습니다.
냉정해지고 생각하자마자 해결할 수 있었던 문제였습니다.
그리고 마크다운 쓰는 방법에도 고전하고 있습니다.
기사 쓰는데 엄청난 시간이 걸려 버려서 빨리 되지 않으면…
더 출력합니다.
쇼마
Reference
이 문제에 관하여(devise로 로그아웃 시 확인 페이지로 전환), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/choma63/items/6a4d697ded99d278d1f8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
devise_for :users, controllers: {
registrations: "users/registrations",
sessions: "users/sessions" #カスタマイズ
}
라우팅도 사용자 정의합니다!
HTTP 메서드 : delete, URL, 컨트롤러 이름 # 액션 이름
devise_scope :user do
get 'profiles', to: 'users/registrations#new_profile'
post 'profiles', to: 'users/registrations#create_profile'
get 'addresses', to: 'users/registrations#new_address'
post 'addresses', to: 'users/registrations#create_address'
delete 'users/destroy', to: 'devise/sessions#destroy' #追記
end
두 가지를 함께
routes.rb
devise_for :users, controllers: {
registrations: "users/registrations",
sessions: "users/sessions" #カスタマイズ
}
devise_scope :user do
get 'profiles', to: 'users/registrations#new_profile'
post 'profiles', to: 'users/registrations#create_profile'
get 'addresses', to: 'users/registrations#new_address'
post 'addresses', to: 'users/registrations#create_address'
delete 'users/destroy', to: 'devise/sessions#destroy' #追記
end
요약
아직 MVC의 이해가 없다고 느꼈습니다.
냉정해지고 생각하자마자 해결할 수 있었던 문제였습니다.
그리고 마크다운 쓰는 방법에도 고전하고 있습니다.
기사 쓰는데 엄청난 시간이 걸려 버려서 빨리 되지 않으면…
더 출력합니다.
쇼마
Reference
이 문제에 관하여(devise로 로그아웃 시 확인 페이지로 전환), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/choma63/items/6a4d697ded99d278d1f8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(devise로 로그아웃 시 확인 페이지로 전환), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/choma63/items/6a4d697ded99d278d1f8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)