# requires scope "neighbors_of" to find translations in same scope class KnowledgeBase module HasUniqueTitle extend ActiveSupport::Concern included do validate :validate_title_uniqueness end private def validate_title_uniqueness return if self .class .where(kb_locale_id: kb_locale_id, title: title) .where.not(id: id) .neighbours_of(self) .none? errors.add(:title, 'is already used') end end end