Belongs_to и has_many к той же модели

Мне интересно, есть ли способ сделать это с помощью рельсов или нет. В основном у меня есть модель пользователя и модель события. Событие создается пользователем, и я хочу иметь внешний ключ (user_id) в модели событий, который указывает, кто создал событие. Кроме того, у события может быть много пользователей, которые посещают его, поэтому модель событий становится чем-то вроде

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

и пользовательская модель выглядит примерно так:

has_many :events, :through => :guests

Я еще не пробовал эту ассоциацию, но хочу сказать

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

вместо

e.user

Есть ли способ сделать это?

Ответ 1

Просто передайте некоторые параметры belongs_to:

belongs_to :creator, :class_name => "User", :foreign_key => "user_id"

Это указывает, что метод creator будет User объектом, ссылающимся на поле user_id.