这是我的模型文件。
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保存在数据库中。我编写的验证在这种情况下不起作用。
attendance_date是一个日期时间字段。
请帮我解决这个问题!!
使用作用域验证唯一性是为唯一性添加多列约束。您可以添加要用于应用唯一性的列:
试试这个:
validates :attendance_date, uniqueness: {scope: :child_id}