2013-07-20 1 views
1
  • 관리자 = 전체 제어. CRUD 교사 및 학생 계정. 최소 필드 집합.
  • Teacher = 자신의 계정을 읽거나/업데이트하십시오. 그들 자신의 학생 계좌를 읽으십시오. 더 독특한 필드.
  • 학생 = 자신의 계정을 읽거나/업데이트하십시오. 더욱 독특한 분야.

인증 - 캉캉, Devise in Rails에서 Admin/Teacher/Student 사용자 계정을 구성하는 가장 좋은 방법은 무엇입니까?

내가 역할과 능력을 설정하는 캉캉과 Rolify과 함께 고안 단일 사용자 모델을 가지고 Rolify

- 인증을 고안. 이것은 정상적으로 작동하지만 아래의 첫 번째 요구 사항으로 인해 복잡해지기 시작합니다. 나는 '역할'이 매우 다른 분야의 집합과 능력을 가지고 있기 때문에 이러한 계정을 구별하는 가장 좋은 방법이라고 확신하지 못합니다.

3 가지 사용자 유형에 대해 다른 Devise 모델을 사용하는 것이 더 좋습니까? (이것은 두 번째 요구 사항으로 인해 복잡합니다.) 또는 모든 사용자를 한 모델로 유지하고 지금하고있는 역할과 능력을 할당하는 것이 가장 좋습니다.

요구 사항 :

  • 다른 사용자 유형은 여러 가지 (필수) 사용자 유형이 있음을 고유 필드해야합니다 (즉, 학생 PARENT_NAME을 가지고 교사하지 않습니다 등) 나는 통합 로그인 양식이 필요
  • 로그인 자격 증명에서 사용자 유형을 감지하고이를 기반으로 사용자를 리디렉션합니다.

이 두 가지 방법 중 하나를 달성하는 구체적인 방법에 대한 여러 답변을 보았습니다. 그러나 어떤 방법이 내 응용 프로그램에 더 적합한 지에 대한 조언을 찾고 있습니다. 내가 Devise에 너무 많이 넣고 있니? 인증 프레임 워크 일뿐입니다. 개인 속성에 대해 별도의 사용자 모델을 사용해야합니까?

당신이 말할 수없는 것처럼 - 나는 이것에 익숙하지 않고 여전히 개념을 얻으려고 노력합니다.

답변

0

하나의 제안은 가능한 한 사물을 Devise로 유지하고 사용자 모델에서 단일 문자열 필드로 역할을 관리하는 것입니다. 그런 다음 인증을 확인하는 필드가 하나 뿐이고 Rails의 도우미 (belongs_to 등)를 사용하여 쉽게 액세스 할 수 있으므로 교사와 학생이 필요로하는 다른 속성에 대해 2 개의 다른 모델을 만들 수 있습니다.

+0

간단합니다. Devise'User' 모델은 로그인 자격 증명과'role' 문자열을 포함할까요? 나는 그것을 좋아한다. 이전의 노력으로 모든 것을 Devise 모델에 넣었습니다. 나는 belongs_to와 모델을 연결하는 방법에 대해 읽으려고한다. 감사. –