Я использую драгоценный камень constant_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
и это тот же случай, что и раньше, удаление группы с последующей попыткой найти ее по имени класса приводит к nil, однако, когда я пытаюсь создать группу с известным именем удаленного класса, проверка не проходит.
Кто-нибудь знает, что я делаю что-то не так, или мне просто написать собственные валидаторы для этого поведения?