我想澄清多範圍唯一性驗證的行爲。 documentation說:多範圍唯一性驗證
甚至多個範圍參數。例如,確保 級別的教師每學期只能安排一次。
class TeacherSchedule < ActiveRecord::Base
validates_uniqueness_of :teacher_id, :scope => [:semester_id, :class_id]
end
我對此的理解是,我可以有一個教師在同一學期教兩個班,但不是同一類的,我可以有一個教師的教學在不同學期同一類。它是否正確?所有3個字段必須匹配一些現有的記錄才能驗證失敗?
有沒有一種方法來驗證它,以便它失敗,如果semester_id或class_id匹配?
爲什麼不添加兩個驗證,每個都有不同的範圍? –