There are few good answers here - How do I 'validate' on destroy in rails.
Basicly the solutions will be
errors.add_to_base "Name of the error"
OR
You can define attr_accessor in the model and set them appropriately , even thought I think that this is not the most DRY way , because the object already has the errors attribute hash which should hold the errors.
EX is:
attr_accessor :before_save_error1
attr_accessor :before_save_error2
attr_accessor :before_save_error3
before_destroy :check_for_errors
def check_for_errors
error = false
if error1 # some condition here
self.before_save_error1 = true
error = true
elsif error2 # some condition here
self.before_save_error2 = true
error = true
elseif error3 # some condition here
self.before_save_error3 = true
error = true
end
error
end