Rails 3 validate uniqueeness игнорирует область видимости по умолчанию на model

Я использую жемчужину permanent_records в моем rails 3.0.10 приложении, чтобы предотвратить жесткое удаление, и кажется, что rails игнорирует мою стандартную область видимости при проверке уникальности

# user.rb
class User < AR::Base
  default_scope where(:deleted_at => nil)

  validates_uniqueness_of :email # done by devise
end

в моей консоли rails, пытаясь найти пользователя по электронной почте, которая была удалена, приводит к нулю, но при подписке на новую учетную запись с удаленным электронным адресом приводит к ошибке проверки в электронном поле.

Это также относится и к другой модели в моем приложении

# group.rb
class Group < AR::Base
  default_scope where(:deleted_at => nil)
  validates_uniqueness_of :class_name
end

и это тот же самый случай, что и раньше, удаление группы, а затем попытка найти ее по имени класса приводит к нулю, однако, когда я пытаюсь создать группу с известным именем удаленного класса, валидация не проходит.

Кто-нибудь знает, делаю ли я что-то не так или мне просто написать пользовательские валидаторы для такого поведения?

10
задан Jimmy 27 August 2011 в 04:09
поделиться