belongs_to和has_many属于同一模型

我想知道是否有办法用rails做到这一点。 基本上我有一个用户模型和一个事件模型。 事件由用户创建,我希望在事件模型中有一个外键(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 

有没有办法让我这样做?

只需将一些选项传递给belongs_to

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

这指定creator方法将是User对象,引用user_id字段。