2006年4月21日,星期五

habtm 与 has_many :through

作者:marcel

最近,ActiveRecord 的关联代码得到了很多改进。其中一个备受瞩目的新增功能是多态关联,它成为了 1.1 版本的一个重要特性。在所有这些喧嚣中,有些人可能没有注意到,除了 has_and_belongs_to_many 之外,还有一种更强大的方式来处理多对多关联。

一段时间以来,人们一直在跳过 has_and_belongs_to_many,而是选择建立两个 has_many 关联,以便获得完整的连接模型及其带来的好处。随着 1.1 中新增的 :through 关联选项,双向 has_many 变得更加出色。那么,如果有两种方法可以处理多对多关系,它们有什么区别,你应该选择哪种方法呢?

Josh Susser 最近一直在 深入研究 关联代码,并且在研究之后,他进行了一场 深入的 逐点比较 habtmhas_many :through,可以称之为这两种方法之间的一场“舞斗”。如果你还没有订阅,现在是时候将他 添加到你的 RSS 阅读器了