ruby – Rails关联 – 同一个类的多个has_one关系
发布时间:2020-12-17 03:45:55 所属栏目:百科 来源:网络整理
导读:我的问题的一个例子是体育比赛.体育游戏有两个团队,一个主队和一个客队.我的活跃记录模型如下: class Team ActiveRecord::Base belongs_to :gameendclass Game ActiveRecord::Base has_one :home_team,:class_name = "Team" has_one :away_team,:class_name
我的问题的一个例子是体育比赛.体育游戏有两个团队,一个主队和一个客队.我的活跃记录模型如下:
class Team < ActiveRecord::Base belongs_to :game end class Game < ActiveRecord::Base has_one :home_team,:class_name => "Team" has_one :away_team,:class_name => "Team" end 我希望能够通过游戏访问团队,例如:Game.find(1).home_team 但是我得到了一个统一的常数错误:Game :: team.谁能告诉我我做错了什么?谢谢, 解决方法
如果游戏has_one:团队然后Rails假设你的团队表有一个game_id列.你想要的是游戏桌上有一个team_id列,在这种情况下你会使用Game belongs_to:team.作为英语,在这种情况下,它确实是倒退的,但作为Ruby,它是正确的.
我做了一点简化.你想要的东西是这样的: class Team < ActiveRecord::Base has_many :home_games,:class_name => "Game",:foreign_key => 'home_team_id' has_many :away_games,:foreign_key => 'away_team_id' end class Game < ActiveRecord::Base belongs_to :home_team,:class_name => "Team" belongs_to :away_team,:class_name => "Team" end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |