Jak modelować różnych użytkowników w Railsach

Pytanie

Mam model użytkownika z wbudowaną logiką autoryzacji i uwierzytelniania.

Teraz zdaję sobie sprawę, że mam trzech różnych typów użytkowników. Chcę przechowywać różne informacje o każdym z nich.

Jaki jest najlepszy sposób radzenia sobie z tym w Railsach?

Myśli oparte na bieżącym czytaniu

Przeglądałem STI, ale z tego, co przeczytałem, uważam, że jest to niewłaściwe, ponieważ w mojej bazie danych otrzymam wiele pól NULL.

Idealnie chciałbym nie powielać logiki uwierzytelniania / autoryzacji dla każdego z trzech typów użytkowników.

Każdy użytkownik będzie miał również inne funkcje w aplikacji.

questionAnswers(2)

yourAnswerToTheQuestion