Como modelar usuários diferentes no Rails

Questão

Eu tenho um modelo de usuário com autorização e autenticação lógica construída.

Agora percebo que tenho três tipos diferentes de usuários. Eu quero armazenar informações diferentes sobre cada um deles.

Qual é a melhor maneira de lidar com isso no Rails?

Pensamentos baseados na leitura atual

Eu olhei para o STI, mas pelo que eu li sinto que é inadequado porque eu vou acabar com um monte de campos NULL no meu banco de dados.

Idealmente, eu gostaria de não duplicar a lógica de autenticação / autorização para cada um dos três tipos de usuários.

Cada usuário também terá diferentes funcionalidades dentro do aplicativo.

questionAnswers(2)

yourAnswerToTheQuestion