mam pytanie potrzebuję w mojej aplikacji dodać funkcjonalność dodawania użytkowników do określonej grupy przez administratora. Rozumiem że role użytkowników mogę sobie podzielić CanCanCanem ale czy mogę go użyć do definiowania dostępu do określonych grup czy użyć do tego osobnego narzędzia. Czy ktoś ma jakieś doświadczenie i wie jakie rozwiązanie jest najlepsze.
Jeżeli user może należeć tylko do 1 grupy i grup jest stosunkowo niewiele to cancancan wystarczy
Jeżeli user może należeć do wielu grup i masz sytuację kilka grup per rola, to cancancan zostaw na role a dla grup użytkowników utwórz oddzielny model / lub 2 modele has_many groups through user_groups
Nie mam żadnego gotowca, ale nigdy nie szukałem gema który by mi grupowanie użytkowników załatwił
Możesz wymusić zachowanie cancancan per grupa jako hash of conditions przykłąd initializera z linka gdzie konkretna instancja fotki dostaje uprawnienia read gdy nie jest przypisana do żadnej grupy
Można to zmodyfikować by User dostawał uprawnienia A,B,C gdy ma przypisaną grupę X lub Y
Tu akurat użyli do powiązania fotki z grupami has_and_belongs_to_many ja preferuje model pośredni i konstrukcję has_many… through
Dzięki bardzo za wskazówki. Chyba skorzystam z własnego modelu Group ponieważ potrzebuje tworzyć dynamicznie liczbę grup i każdy user może należeć tylko do jednej. Natomiast CanCanCan użyje do definiowania roli admina który może grupy tworzyć i dodawać użytkowników do nich.