我正在使用Ruby on Rails上的ActiveRecord,我需要建立一个相当复杂的关系模型,我认为这种关系并不适合正常的has_many或has_and_belongs_to_many关系。作为序言,这是一个管理足球裁判比赛分配的应用程序(一个类的简单实现,而不是一个真正的生产应用程序)。
我有一个游戏模型,它有一个裁判,ar1和ar2,它们是id号,直接对应于User模型的id(由activerecord创建的内置id)。所以我的问题是,我希望能够使用activerecord在show.html.erb页面上显示用户的游戏,但我不确定如何在activerecord中建立关系并仍然保持游戏分配位置感(裁判,ar1,ar2)。
答案 0 :(得分:0)
简单的解决方案是在模型中添加type
。
添加类型后,您可以调用如下
@g = Game.first
@gamers = g.users.all(:where => ["type = 'Gamer'"]
@referee = g.users.all(:where => ["type = 'Referee'"]