chevron_left

Ruby On Rails 实践教程

免费
第 4.3 回

教程文档

Ruby On Rails 实践教程 - 多对多关联

2023年11月15日
Ruby On Rails 实践教程

多对多关联

在 Rails 中,通过使用 ActiveRecord 的has_manyhas_and_belongs_to_many,可以在模型中简单地实现 DB 的「多对多」关联。

has_manyhas_and_belongs_to_many的不同

要建立多对多的关系,中间表是必须存在的。

  • has_many的情况下,必须要生成中间表的模型,然后可以在中间表模型中添加相关的属性、方法,或者对中间表进行相关的操作。
  • has_and_belongs_to_many的情况下,不需要生成中间表的模型,也不能对中间表进行操作。

个人认为,因为并没有那么麻烦,所以推荐用 has_many。这样使它的扩展性更好一些。

环境确认

  • Rails 6.0

多对多关联

1.png

一个商品属于多个分类,从「商品」来看,「分类」是"多"。 一个「分类」中存在很多商品,因此从「分类」...

课程介绍

Ruby On Rails 实践,「长乐未央」站长刘东 Rails 开发经验大杂烩。

查找 Rails 资料,使用 Rails 神兵利器攻城略地知识宝库。

文档主线参考:nipe880324的「Rails Webook」。由于他写的原始博客(日文),已经无法访问,所以就不提供访问地址了。

他原始文档是使用的 Rails 4,我根据他的内容,重新编排成 Rails 6 的。然后再根据我个人开发经验,再增加 Rails 6 的新内容、新的 Gem 包教程。

适合这样的人

新手