предотвращение проверки рельсов на основе предыдущей проверки - PullRequest
1 голос
/ 04 февраля 2011

У меня есть модель с 2 проверками для атрибута 'name'.Это выглядит примерно так:

validates :name, :uniqueness => true

validate do
  errors.add(:name, "is dumb") if name_is_dumb?
end

Я не хочу, чтобы 2-я проверка запускалась, если первая проверка не удалась (имя не является уникальным).

Какой самый лучший и самый чистый способсделать это?

1 Ответ

2 голосов
/ 04 февраля 2011

Согласно документации :

Обратные вызовы обычно выполняются в порядке, в котором они определены, за исключением обратных вызовов, определенных как методы в модели, которые вызываются последними.

Так должен работать следующий фрагмент:

validates :name, :uniqueness => true

validate do
  errors.add(:name, "is dumb") unless errors[:name].nil?
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...