예를 들어, 사용자는 admin
및 player
일 수 있으며 사용자가 기본 역할을 설정하기를 원합니다. 예를 들어 player
일 수 있으며 나중에 전환하여 admin
이됩니다.rollify가있는 사용자의 주 역할을 어떻게 디자인해야합니까?
명백한 것은 User
모델에 과 함께 main_role
을 붙이는 것입니다.
그러나 저는 사용자의 역할과 동기화하여 주요 역할을 유지해야한다는 것에 우려하고 있습니다. 예를 들어 사용자가 더 이상 플레이어가 아니면 그녀의 main_role
은 플레이어의 사람이 될 수 없습니다.
제가 생각한 또 다른 방법은 첫 번째 역할을 주역으로하는 역할을 주문하는 것입니다. 나는 그것을 할 수있는 쉬운 방법을 찾을 수 없습니다.
Ex: user.roles.map(&:name) => ["admin", "player"]
이 경우, 주된 역할은 "admin"이며 주 역할이 플레이어가되도록하려면 먼저 "player"를 바꿀 수 있습니다.
아무도이 문제를 처리하기위한 좋은 제안이 있습니까?
감사합니다.
[Rolify gem] (https://github.com/RolifyCommunity/rolify)를 말하고 있습니까? 그렇다면이 컨텍스트에서 주 역할과 보조 역할의 개념에 대해 다소 혼란 스럽습니다. 이진 역할이 아니거나 역할에 대한 권한 부여가 있거나 그렇지 않은 경우입니다. 주 역할과 보조 역할을 구별하는 동기는 무엇입니까? – David
음, 모바일 클라이언트가 있고 사용자가 관리자인지 아닌지에 따라 다른보기를 표시한다고 가정 해 보겠습니다. 예를 들어, 누군가가 앱을 사용하는 것과 그 앱을 단독으로 사용하고있을 때 등이 있습니다. – okysabeni
제 생각에는 제가 생각하기에 '주요'역할 정의의 개념이 무엇인지 생각합니다. 사용자가 관리자와 플레이어의 역할을 가지고 있다면 ... 분명히 그들은이 두 가지 역할과 관련된 모든 권리를 가지고 있습니다 ... 그 중 하나를 '주요한'역할로 앱에 어떻게 활용할 수 있습니까? 개인적으로 나는 여러 가지 역할에 대한 개념을 고집하지 않을 것입니다.이 시나리오에서는 3 가지 역할 중 하나 인 사용자 (player, admin, admin-player) 중 하나를 선택했습니다. 관리자는 플레이어와 관리자의 권리를 상속받을 수 있습니다. 하지만 나는 rolify를 사용하지 않기 때문에 나는 논평 할 자격이 없을 것입니다. – David