У меня есть объект в Ruby on Rails3, который не должен существовать более трех раз с одной и той же датой.
У меня нет проблем с проверкой объекта при создании, но что происходит, когда существующий объект обновляется и становится четвертым объектом дня?
Я пытался подключить валидацию в before_save, after_save, after_update и т. Д. Ни одна из них не работала ...
Спасибо, ребята!
Вот моя текущая проверка:
class Dish < ActiveRecord::Base
before_create :creation_validaton
after_save :update_validaton
def creation_validaton
if Dish.find(:all,:conditions => ["date = ?",self.date]).count > 2
errors.add(:date, "more than 3 a day")
return false
else
return true
end
end
def update_validaton
if Dish.find(:all,:conditions => ["date = ?",self.date]).count > 3
errors.add(:date, "more than 3 a day!")
return false
else
return true
end
end
end