【发布时间】:2015-08-01 18:18:04
【问题描述】:
我在旧数据库 (SQL Server) 上使用 Rails。我也在使用 gem composite_primary_keys...我目前正在使用两个模型,home_games 关联工作正常,但 home_team 关联不行。
class Game < MyDatabaseModel
self.table_name = 'Game'
self.primary_key = 'GameID', 'League'
belongs_to :home_team, class_name: 'Club', foreign_key: 'ClubKey', primary_key: 'Home_Team'
end
class Club < MyDatabaseModel
self.table_name = 'Club'
self.primary_key = 'ClubID', 'Season', 'League'
has_many :home_games, class_name: 'Game', foreign_key: 'Home_Team', primary_key: 'ClubKey'
end
现在,当我执行myClub.home_games 时,我得到了记录的 ActiveRecordRelation 的预期结果。但是,当我执行 myGame.home_team 时,我得到一个 nil 对象。如果我拨打以下电话Club.where(ClubKey: game.Home_Team),我会从俱乐部获得一条记录的预期结果。我的关联设置不正确吗?
【问题讨论】:
标签: ruby-on-rails activerecord associations belongs-to