Hi all,
假设现在已有一个 Teacher 类和一个 Student 类,二者是多对多关系,中间的关系类是 TeacherStudentRelation,里面的属性除了必要的 student_id 和 teacher_id 之外还有其他几个附属属性。 现在有几个 Constraints 是
目前假设 Teacher 对象在数据库中已经存在,需求是创建 Student 对象,同时为二者建立关系,同时把 TeacherStudentRelation 里的几个额外属性全部写入值,那这段代码怎么写?
teacher = Teacher.find teacher_id
student = Student.new
# 如果此时写
student.teachers << teacher
# 那么此时调用
student.teacher_student_relations
# 将返回空数组
# 但是如果直接保存的话
student.save!
# 将发生NULL错误
再换个思路
teacher = Teacher.find teacher_id
student = teacher.students.create!
# 就直接发生 “一个学生必须有至少一个老师”的错误
# 即使换成
student = teacher.students.create
# 虽然不会立刻报错,但是很快陷入了和前面一样的囧境
还是不行,然后我也想不到办法了,谢谢大家帮忙哈~