学生、老师、课时和出勤率之间的关系

relationship between students, teacher , periods and attenance

我有用户模型并且(老师、学生和原则)使用 STI 从它继承

每个 class 有很多学生和一个老师。 每个学生都有很多 classes。 每个class有很多学生

class Class < ApplicationRecord
  has_and_belongs_to_many:students
  belongs_to:teacher
  has_many:periods
end

class User < ApplicationRecord
  has_and_belongs_to_many:students
  belongs_to:teacher
  has_many:periods
end

class Teacher < User
  has_many:classes
end

class Student < User
  has_and_belongs_to_many:classes
  has_many:period
end

class Period < ApplicationRecord
  belongs_to:teacher
  belongs_to:student
end

每个 class 有很多句号。

我如何设置 class 的出勤率,因为每个时段每个学生都有自己的出勤率? 我如何在用户和 class 以及期间和出勤率之间建立关系?

class Attendance < ApplicationRecord
  ????????
end

老师 1 - * Classes

Class 1 - * 学生

Class 1 - * 句点

学生 1 - * tblStuPer

期间 1 - * tblStuPer

tblStuPer 1 - * tblAttendence

周期table:

PeriodID、日期和时间,例如 ['Monday'、'9am']、['Wednesday'、'3pm']。

tblStuPer Table:

tblStuPerID、StudentID、PeriodID。

tbl 出席人数:

AttendenceID、日期、tblStuPer、isHere

这意味着连接 table 将存储:学生 1 在(星期一上午 9 点 periodid(x)),因为这是重复的出勤 table 然后可以存储实际日期,01/01 /1901。 然后从那里可以加入Class(化学)和E老师

并不是说这是最有效的答案,但希望我的思考过程有所帮助。