Newer
Older
validate :slug_must_be_unique
validates :slug, format: { with: /\A[a-z0-9\-]+\z/, message: I18n.t('slug_error') }
n = 0
while slug_unavailable?(self.slug)
n += 1
self.slug = [current_slug, n].join('-')
end
end
def generated_path
"#{parent&.path}/#{slug}".gsub(/\/+/, '/')
end
self.class.unscoped
.where(university_id: self.university_id, slug: slug)
.where.not(id: self.id)
.exists?
end
def make_path
def slug_must_be_unique
errors.add(:slug, ActiveRecord::Errors.default_error_messages[:taken]) if slug_unavailable?(slug)
end