3-8 associations 解说
has_many
和 belongs_to
:
- 在 Rails 里面,model 和 model 之间的关联叫做 associations。
- Associations(通常)成对出现。
- 一篇 topic 会有许多(have many)投票记录,所以要在 Topic model 里面写 has_many :votes。
* 当你向一篇 topic 要它的投票记录的时候,你会得到一个 Array,里面有该 topic 的投票记录。 - 一笔投票记录对应到一篇特定的 topic,所以要在 Vote model 里面写 belongs_to :topic。
* 当你向一笔投票记录要它的 topic 的时候,你会得到那笔投票记录所属的 topic。
此外,自己被删除时候,删掉所拥有的资料也很重要。在 has_many :votes
的 dependent: :destroy
意思是说,当一篇Topic 被删除(destroy)的时候,它的投票记录(votes)也要一并删除。没有 dependent :destroy
的话,这些投票记录会永远留在资料库里面。
Updated less than a minute ago