I have three classes: `School`, `Account`, and `Administratorship`.

**School**

```rails
has_many :administatorships
has_many :administrators, :through => :administratorships

```

**Account**

```rails
has_many :administratorships

```

**Administratorship**

```rails
belongs_to :account
belongs_to :school

before_destroy :confirm_presence_of_alternate_administratorship_in_school

protected

def confirm_presence_of_alternate_administratorship_in_school
    unless school.administrators.count(["administratorships.account_id != #{id}"]) > 0
        errors.add_to_base "The school must have at least one administrator"
    end
end

```

Now, what I would like to happen is when I call `destroy` on an instance of `Administratorship`, for it to add an error to the model and prevent the destruction of the model. I have removed the `unless` statement to see if that was preventing the error from being added, but it wasn't the case. It seems that having errors on the model does not prevent the destroy from occurring.

So my question is, is there any way I can prevent the destroy from occurring using validations? I realize I could define a method that destroys only if the above condition is met, but it seems that a validation approach is a more elegant solution.