我有验证器,它验证表单上的一个字段。带类的字段返回值ActiveSupport::TimeWithZone
validate :begins_at_not_in_past
def begins_at_not_in_past
return unless self.state == 'Scheduled'
if self.begins_at != nil && self.begins_at < (Time.now - 1.hour)
errors.add(:begins_at, 'Action cannot begin in past')
false
end
end
如果验证失败,它会显示我的错误,但是即使表单中的数据无效,它也会在数据库中创建新记录。我在哪里犯错了?