新手问题 belongs_to 和 has_many 区别体现在什么地方?

wdrsam · 2015年10月19日 · 最后由 flowerwrong 回复于 2015年10月20日 · 2094 次阅读

A belongs_to B

那么当 B.destroy 时,对应到 A 也会被删除。

B has_many A

当 B 被删除时,所有关联的 A 都会被删除。

老是纠结比如我写了 A belongs_to B

那么再写 B has_many A 或者 B has_one A 不是多余吗?

只要 A belongs_to B,必然成立 B has_many A 或者 B has_one A 中的一个。

那么说回来,当我写了 A belongs_to B,什么时候可以不写 B has_many A 或者 B has_one A 中的一个。什么时候必须写上其中一个关系?以及他们的区别?

这个简单。都不写呗。直到你发现你需要写的时候写。

belongs_to 后面一般会加 外键的表

A belongs_to B 让你可以访问 A.B B has_many A 让你可以访问 B.As

这么优雅的词汇看着就明白啊

需要 登录 后方可回复, 如果你还没有账号请 注册新账号