首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

Ruby on Rails,一对多联系关系(One-to-Many)

2012-12-17 
Ruby on Rails,一对多关联(One-to-Many)在上一篇文章中,我们知道通过has_one和belongs_to方法定义一对一关

Ruby on Rails,一对多关联(One-to-Many)
在上一篇文章中,我们知道通过has_one和belongs_to方法定义一对一关联关系。接下来是更常见的情况,一对多关联。
比如老师与所教课程的关系,一个老师负责多个课程。换成对象之间的关系就是:一个老师has may课程,课程belongs to老师。

Ruby on Rails,一对多联系关系(One-to-Many)

                                                            Ruby on Rails,一对多联系关系(One-to-Many)

                       Ruby on Rails,一对多联系关系(One-to-Many)

和一对一关联的相似之处是
关联关系也是通过外键建立的。子对象都会拥有一个父对象的引用,使用belongs_to表示与父对象的关系。不同之处是
一个父对象对应多个子对象而不是只对应一个。所以需要在父对象中改用has_many引用子对象。由于has_may个子对象,所以在书写类定义的时候要用复数,这也是符合语言习惯的。获取子对象的方法不再返回单个子对象,而是返回子对象的列表。方法名字也是复数。用例子说话,创建一个课程(Course)模型定义

#直接指定所有引用teacher.courses=[course_geometry,course_algebra]#删除指定引用teacher.courses.delete(course_geometry)#清除所有引用teacher.courses.clear#判断是否存在引用teacher.courses.empty?#查看引用数量teacher.courses.size

热点排行