【发布时间】:2015-06-08 21:09:45
【问题描述】:
我不明白这两种关联类型的区别。
例如,我们有 2 个表:
拳击手
[ id, name, title ]
标题
[ id, name ]
所以,我们可以这样指定我们的关联:
boxer.rb
belongs_to :title, forign_key: "title"
然后像 Boxer.find(1).title.name 一样使用它
从逻辑上讲,每个拳击手总是有一个冠军记录,每个冠军都有很多拳击手。
那么我们为什么不指定has_one 和has_many 关系呢?当我指定belongs_to :title, forign_key: "title" 时,这意味着在我的情况下,FK 指向桌上拳击手(boxer.rb)。但是当我尝试写has_one :title, forign_key: "title" 时,它会在titles 表中搜索title 列。为什么?
【问题讨论】:
标签: ruby-on-rails ruby associations models