Method: Concept::Validations#rooted_top_terms

Defined in:
app/models/concept/validations.rb

#rooted_top_termsObject

top terms must never be used as descendants (narrower relation targets) NB: for top terms themselves, this is covered by ‘ensure_exclusive_top_term`



31
32
33
34
35
36
37
38
# File 'app/models/concept/validations.rb', line 31

def rooted_top_terms
  if validatable_for_publishing?
    if narrower_relations.includes(:target). # XXX: inefficient?
        select { |rel| rel.target && rel.target.top_term? }.any?
      errors.add :base, I18n.t('txt.models.concept.top_term_rooted_error')
    end
  end
end