Consegui descobrir como resolver isso, mas achei que valia a pena reportar.
Tentei atribuir a categoria pai, cat-B, à cat-A, que já continha 3 subcategorias. O sistema do Discourse exibiu uma mensagem de erro dizendo algo como ‘não podemos mover subcategorias’. Então, estou supondo que haja um limite para quantas categorias podem ser aninhadas umas dentro das outras.
Cheguei à conclusão de que tudo bem, e que eu apenas reatribuiria a categoria pai para as 3 subcategorias primeiro. Mas, ao tentar fazer isso, recebi um erro de exceção como este.
O console retorna um erro 404 para a URL que termina em c/cat-B/cat-A/subcategory/edit/find_by_slug.json.
Um erro semelhante aparece para as outras 2 subcategorias da cat-A.
O que deveria ser exibido, em vez disso, é c/cat-A/subcategory/edit, sem o cat-B. Então, digitei manualmente a URL com esse formato e cheguei à página normal de configurações de categoria, como esperado. Consegui corrigir as 3 subcategorias e a cat-A dessa maneira.
Isso provavelmente é apenas um pequeno bug que valeria a pena corrigir no futuro
Você sabe qual versão do Discourse seu site está usando? Se seu site é auto-hospedado, você pode encontrar a versão perto do topo do painel de administração do site. O motivo pelo qual estou perguntando é porque acho que o Discourse deveria ter impedido você de adicionar a categoria pai. Quando tento fazer isso, recebo o seguinte erro:
É possível que você esteja enfrentando um bug que foi corrigido em uma versão mais recente do Discourse. Também é possível que eu não esteja reproduzindo o problema corretamente.
E depois de escrever tudo isso, o erro se curou magicamente sem que eu precisasse usar a solução alternativa de digitar manualmente a URL. Parece que está tudo bem agora, pessoal.