Create a module in app / models / issues / verification_associations.rb wiht:
module VerificationAssociations extend ActiveSupport::Concern included do before_destroy :check_associations end def check_associations errors.clear self.class.reflect_on_all_associations(:has_many).each do |association| if send(association.name).any? errors.add :base, :delete_association, model: self.class.model_name.human.capitalize, association_name: self.class.human_attribute_name(association.name).downcase end end return false if errors.any? end end
Create a new translation key in app / config / locales / rails.yml
en: errors: messages: delete_association: Delete the %{model} is not allowed because there is an association with %{association_name}
Your model includes a module:
class Model < ActiveRecord::Base include VerificationAssociations end
Diego mtz
source share