使用Rails 4,我正在为健身爱好者和私人教练开发一款应用程序。我是Rails的新手,但决定通过构建这个应用程序来启动我的学习。我读了几篇相关的帖子,但没有什么相关的。应用程序的简要概述....
注册后,健身爱好者(会员)将跟踪培训练习,并可选择与私人教练进行预约。私人教练将为会员制定培训计划。并非所有成员都会有私人教练,但是,有些成员可能会通过约会获得许多培训师。重要的是,培训师不能为预约重复预订。
到目前为止,我有以下模型和协会:
class Member < ActiveRecord::Base
has_many :cardio_exercises, :dependent => :destroy
has_many :strength_exercises, :dependent => :destroy
has_many :appointments, :dependent => :destroy
has_many :trainers, through: :appointments, :dependent => :destroy
class Trainer < ActiveRecord::Base
has_many :cardio_exercises, :dependent => :destroy
has_many :strength_exercises, :dependent => :destroy
has_many :appointments, :dependent => :destroy
has_many :members, through: :appointments, :dependent => :destroy
class CardioExercise < ActiveRecord::Base
belongs_to :member
belongs_to :trainer
class StrengthExercise < ActiveRecord::Base
belongs_to :member
belongs_to :trainer
class Appointment < ActiveRecord::Base
belongs_to :member
belongs_to :trainer
validates :appointment_date, :member, :trainer, presence: true
validates :appointment_date, :trainer, uniqueness: true
Appointments表中的appointment_date列属于“datetime”数据类型。我正在使用Rspec测试我的应用程序,但努力编写有效的测试来评估约会功能,特别是我正在努力解决双重预约的问题。我想在Appointment Model中添加两个额外的列:Start_time和End_time,但还没有这样做,因为我不确定这是否是最好的方法。
我有几个问题:
非常感谢有关我的模型,关联,验证或测试协议的任何想法或建议!