Мне удалось разобраться, как решить эту проблему, но я посчитал, что стоит сообщить о ней.
Я попытался назначить родительскую категорию cat-B для cat-A, у которой уже было 3 подкатегории. Система Discourse выдала сообщение об ошибке, примерно такого содержания: «Мы не можем переместить подкатегории». Похоже, существует ограничение на количество вложенных категорий.
Я решил, что это нормально, и сначала переназначу родительскую категорию для этих 3 подкатегорий. Однако при попытке сделать это я получил исключительную ошибку, как показано ниже.
В консоли появляется ошибка 404 для URL, заканчивающегося на c/cat-B/cat-A/subcategory/edit/find_by_slug.json.
Аналогичная ошибка возникает и для двух других подкатегорий cat-A.
Вместо этого должен отображаться URL c/cat-A/subcategory/edit без cat-B. Поэтому я вручную ввёл URL в этом формате и попал на обычную страницу настроек категории, как и ожидалось. Таким образом я смог исправить все 3 подкатегории и cat-A.
Скорее всего, это просто небольшая ошибка, которую стоит исправить в будущем
Знаете ли вы, какую версию Discourse использует ваш сайт? Если ваш сайт размещён самостоятельно, версию можно найти в верхней части панели администратора сайта. Причина моего вопроса в том, что, по моему мнению, Discourse должен был предотвратить добавление родительской категории. Когда я пытаюсь это сделать, получаю следующую ошибку:
И вот, после всего написанного, ошибка волшебным образом исчезла сама собой, и мне не пришлось использовать обходной путь с ручным вводом URL. Похоже, теперь всё в порядке, друзья.