【发布时间】:2018-10-02 21:26:20
【问题描述】:
我有两个模型,分别称为 Task 和 Employee,它们具有多对多关系。
class Task < ApplicationRecord
has_and_belongs_to_many :employees
end
...
class Employee < ApplicationRecord
has_and_belongs_to_many :tasks
end
我想要这样的功能。员工不能在同一时间段内执行多项任务。任务模型具有 start_date 和 duration 字段,因此我需要字段来进行此验证。
@task = Task.create(start_date:Time.zone.now, duration:2)
@employee.tasks << @task
当我将新任务推送到员工的任务时,我想验证该员工是否已经与新任务发生冲突。我怎样才能做到这一点?
谢谢。
【问题讨论】:
标签: ruby-on-rails ruby activerecord ruby-on-rails-5 activemodel