Ruby on rails ActiveRecord中的复杂关系

Ruby on rails ActiveRecord中的复杂关系,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我正在将ActiveRecord与RubyonRails一起使用,我需要对一个相当复杂的关系进行建模,我认为它不能很好地归入一个正常的has\u many或has\u和\u属于\u many关系。在前言中,这是一个用于管理足球裁判比赛分配的应用程序(对于类来说是微不足道的实现,而不是真正的生产应用程序) 我有一个游戏模型,它有一个裁判,ar1和ar2,它们是直接对应于用户模型id(activerecord创建的内置id)的id号。因此,我的问题是,我希望能够使用activerecord在show

我正在将ActiveRecord与RubyonRails一起使用,我需要对一个相当复杂的关系进行建模,我认为它不能很好地归入一个正常的has\u many或has\u和\u属于\u many关系。在前言中,这是一个用于管理足球裁判比赛分配的应用程序(对于类来说是微不足道的实现,而不是真正的生产应用程序)


我有一个游戏模型,它有一个裁判,ar1和ar2,它们是直接对应于用户模型id(activerecord创建的内置id)的id号。因此,我的问题是,我希望能够使用activerecord在show.html.erb页面上显示用户的游戏,但我不确定如何在activerecord中建立关系并保持游戏分配位置感(裁判员、ar1、ar2)。

简单的解决方案是在模型中添加
类型

添加类型后,您可以按如下方式调用

@g = Game.first

@gamers = g.users.all(:where => ["type = 'Gamer'"]
@referee = g.users.all(:where => ["type = 'Referee'"]

我很困惑,我不能做STI,因为一个用户可以是一场比赛的裁判,但可以是另一场比赛的AR1。