Tabele users i roles mam połączone relacjami z tabele assignment, tak, żeby pomiędzy users i roles była relacja wiele do wiele. Żeby wypisać role użytkownika wpisuje np. kod:
puts user.roles
To jednak tylko wypisuje role i żeby przypisać nową rolę użytkownikowi muszę utworzyć “ręcznie” nowy obiekt (nowy rekord) Assignment. Chcę obejść tą konieczność.
Wiem że mogę zrobić metodę
user = User.find 1
role = Role.find 1
user.add_role role
Zastanawiam sie jednak nad bardziej intuicyjnym rozwiązaniem, coś w stylu
user = User.find 1
role = Role.find 1
user.role+= role
Tylko nie wiem czy coś takiego się da zrobić, a jeśli się da to jak (nie chodzi mi o kod metody, bo to wiem jak zrobić, ale chodzi mi bardziej o konstrukcję nazwy metody)