belongs_to e has_many para o mesmo modelo

Eu estou querendo saber se existe uma maneira de fazer isso com trilhos ou não. Basicamente, eu tenho um modelo de usuário e um modelo de evento. O evento é criado por um usuário e eu quero ter uma chave estrangeira (user_id) no modelo de evento que indica quem criou o evento. Além disso, o evento pode ter muitos usuários que o assistem, para que o modelo do evento se torne algo como

belongs_to :user
has_many :users, :through => :guests #suppose i have the guest model 

e o modelo do usuário se parece com

has_many :events, :through => :guests

Ainda não experimentei esta associação, mas quero poder dizer

e = Event.find(1)
e.creator #returns the user who created this event

ao invés de

e.user

existe uma maneira de eu fazer isso?

questionAnswers(1)

yourAnswerToTheQuestion