【发布时间】:2019-10-18 04:14:13
【问题描述】:
我正在构建一个预订系统,学生可以在其中预订老师的课程。
特点:
- 教师根据 30 分钟的时间段提供他们的可用性。
- 教师在课程期间提供选项。
- 一节课的时长可以是 45 分钟、90 分钟等。
- 学生根据老师的空闲时间和他们选择的时长来预订课程。
在给定的预定时长下,我如何模拟教师的可用性?
例如,如果老师在 1:00-2:00 有空,而学生预订了 45 分钟的课程,则预订时间为 1:00-1:45,而老师现在在 1:00 有空:45-2:00。
到目前为止我的模型: Booking models
【问题讨论】:
-
你需要一个
teacher_id属性在LessonItem,max_booking和total_booking在time_slot你可以跟踪学生的插槽可用性。 -
时间段也应该属于课程项目而不是预订
-
你能谈谈在
time_slot中添加max_booking和total_booking吗? -
忘了添加,但我在 TimeSlot 中有一个
available布尔值来显示 time_slot 是否已被预订 -
一个
LessonItem属于一个Lesson,它属于一个Teacher所以我只是建立一个has_many_through
标签: ruby-on-rails postgresql activerecord model