0

這是我的模型文件。使用範圍的日期時間字段的唯一性驗證

class Attendance < ActiveRecord::Base 
belongs_to :staff, class_name: 'User', foreign_key: 'staff_id', inverse_of: :attendances 
belongs_to :child, inverse_of: :attendances 

validates :attendance_date, uniqueness: {scope: :child} 

end 

我的主要目標是不允許在同一日期和child_id被保存在database.The驗證我寫的不是在這種情況下工作。

attendance_date是一個日期時間字段。

請幫我解決這個問題!

+0

嘗試'{範圍:child_id}' –

回答

1

使用範圍驗證唯一性是爲唯一性添加多個列約束。您可以添加列的你想使用的應用的獨特性:

試試這個:

validates :attendance_date, uniqueness: {scope: :child_id}