当前位置:  开发笔记 > 编程语言 > 正文

在Rails中has_and_belongs_to_many

如何解决《在Rails中has_and_belongs_to_many》经验,为你挑选了1个好方法。

在rails中使用has_and_belongs_to_many关联而不是has_many:through有什么明显错误吗?我知道这些 文章 描述了差异和解决方法,但是它们是从2006年开始的.从我读过的东西来看,似乎人们认为habtm陈旧而笨重,但如果一个简单的多对多加入没有必要的模型是你在找什么?

思考?



1> Can Berk Güd..:

has_and_belongs_to_many用于简单的多对多关系.

另一方面,has_many:through用于间接的一对多关系,或与属性的多对多关系.

如果您只是寻找一个简单的多对多关系,我看不出有任何理由不使用has_and_belongs_to_many.

示例多对多关系:

用户属于零个或多个组,组具有零个或多个成员(用户).

示例与属性的多对多关系:

用户属于零个或多个组,组具有零个或多个具有等级的成员.

例如,Alice可能是组A中的管理员,组B中的主持人.您可以在连接表中保留此属性.

间接一对多关系示例:

类别具有零个或多个子类别,并且每个子类别具有零个或多个项目.

因此,类别通过其子类别具有零个或多个项目.

考虑以下类别:

食品→水果,蔬菜
水果→苹果,橙子等
蔬菜→胡萝卜,芹菜等

因此:

食物→苹果,橙子,胡萝卜,芹菜等


让我举几个例子.
要理解递归,首先必须了解递归.我认为你的答案可以更明确或更具说明性,即与属性的多对多关系与没有属性的多对多关系.
推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有