chevron_left

Ruby On Rails 实践教程

免费
第 4.4 回

教程文档

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

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

一对一关联

在 Rails 中,可以使用 ActiveRecord 的has_onebelogns_to,将 DB 之间的一对一关系简单地体现在模型中。

环境确认

  • Rails 6.0

一对一关联

1.png

一个订单只有一个发票,从「订单」来看「发票」是"1"。 每个发票必定也有一个订单,从「发票」来看「订单」是"1"。

这种关系叫做「1 对 1 关系」。

※在订单和发票的哪里写has_one,在哪里写belongs_to比较好呢?

虽然没有明确的答案,但是从意思上来说,「发票属于订单 (belongs_to)」比「订单属于发票 (belongs_to)」更贴切,所以这次将belongs_to写入 Invoice 类。

添加关联用的外键

首先,在 belogns_to 侧的表 (这次是 invoices 表) 上以xxx_id添加外键。 xxx是需要作为关联的模型名。 这次的情况...

课程介绍

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

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

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

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

适合这样的人

新手