class AddressOwnerObserver < ActiveRecord::Observer observe Person, Company def after_destroy(record) RAILS_DEFAULT_LOGGER.info 'Called observer' unless record.address_id.blank? RAILS_DEFAULT_LOGGER.info 'Address ID not blank; is ' + record.address_id.to_s address = Address.find record.address_id RAILS_DEFAULT_LOGGER.info address.inspect if address.people.empty? and address.company.nil? RAILS_DEFAULT_LOGGER.info 'Can destroy address' address.destroy end end end end