레일과 사용자 역할에 대한 몇 가지 클래스 (Admin
는 Contributor
는 Member
예) 상속 User
클래스를 형성 소자 분리 원칙에 따라, roles
은과 같이 사용자 테이블에 jsonb
로 저장됩니다사용자 클래스에서 상속 여러 역할 기반 클래스 I 클래스가 <code>User</code>라고 한 4
t.jsonb :roles, default: {
'admin': false,
'contributor': false,
'member': true
}
적절한 서브 클래스 t를 설정하는 것이 가능 o 해당 역할에 대한 User
의 인스턴스
u = User.create(...)
u.class #<= returns 'User'
u.grant_role(admin)
u.class #<= should return 'Admin'
내가 때마다 User
인스턴스가 인스턴스화되거나 업데이트되도록 before_save
콜백을 사용하여 생각하고, 적절한 클래스를 선택 : 즉, 같은 뭔가. 나는 올바른 길을 가고 있는가?