带有范围的datetime字段的唯一性验证

时间:2015-06-19 14:47:38

标签: ruby validation datetime ruby-on-rails-4.2 model-validation

这是我的模特档案。

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是一个日期时间字段。

请帮我解决这个问题!!

1 个答案:

答案 0 :(得分:1)

使用范围验证唯一性是为唯一性添加多个列约束。您可以添加要用于应用唯一性的列:

试试这个:

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