workers_table 및 admins_table의 두 테이블이 있습니다.사용자가 속한 테이블로 리디렉션
컨트롤러가 두 개 있는데 devise
(sign_in, sign_up ...)을 사용합니다.
내가 사용
before_filter :authenticate_user!
을 노동자와 관리자의 컨트롤러에. @ 이메일이 발견되는 경우
@email = current_user.email
내가 확인하려면 :
내가 로그인 사용자의 이메일을 가정 가 노동자 테이블에서 발견, 그래서를 리디렉션의 경우관리자의 index.html.erb에 입력 할 수 없습니다.
이 admins 테이블에있는 경우 admins의 index.html.erb로 리디렉션합니다 (직원의 index.html.erb에는 입력 할 수 없습니다).
사용자가 workers_table 또는 admins_table에 속하는지 확인하는 방법을 알고 있습니다.
하지만 사용자가 속한 테이블을 어디에서 확인해야합니까? 다른 컨트롤러를 정의해야합니까?
안내해주세요.
ensure_admin 메소드를 어디에 써야할까요? application_controller.rb에? 나는 7 가지 방법을 제외하고는 다른 방법을 만들 수 없다고 생각했다 : 생성, 색인, 파괴, 보여주기, 편집, 업데이트 및 새로운 ... (나는 레일에 너무 익숙하다.) 고맙습니다. –
http://railscasts.com/episodes/250-authentication-from-scratch는 인증을위한 훌륭한 리소스이며 컨트롤러에서 원하는 모든 방법을 사용할 수 있습니다 (먼저 모델에 넣는 것을 고려해야하지만). –