# Назначение родительской категории категории, у которой уже есть подкатегория, вызывает ошибку

**URL:** https://meta.discourse.org/t/assigning-parent-category-to-a-category-that-already-has-subcategory-produces-error/173032
**Category:** Support
**Created:** [11.Декабрь.2020 20:43:30 UTC](https://meta.discourse.org/t/assigning-parent-category-to-a-category-that-already-has-subcategory-produces-error/173032 "2020-12-11T20:43:30Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![Yasmeen\_Kashef](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/yasmeen_kashef/32/191337_2.png) [@Yasmeen\_Kashef](https://meta.discourse.org/u/Yasmeen_Kashef)
#### Post date: [11.Декабрь.2020 20:43:30 UTC](https://meta.discourse.org/t/assigning-parent-category-to-a-category-that-already-has-subcategory-produces-error/173032/1 "2020-12-11T20:43:30Z")

</div>

Мне удалось разобраться, как решить эту проблему, но я посчитал, что стоит сообщить о ней.

Я попытался назначить родительскую категорию **cat-B** для **cat-A** , у которой уже было 3 подкатегории. Система Discourse выдала сообщение об ошибке, примерно такого содержания: «Мы не можем переместить подкатегории». Похоже, существует ограничение на количество вложенных категорий.

Я решил, что это нормально, и сначала переназначу родительскую категорию для этих 3 подкатегорий. Однако при попытке сделать это я получил исключительную ошибку, как показано ниже.

 ![image](https://global.discourse-cdn.com/meta/original/3X/9/f/9fd4c5754479822e4b1e9862b6d244ab16ea88c1.png)

В консоли появляется ошибка 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**.

Скорее всего, это просто небольшая ошибка, которую стоит исправить в будущем 💪

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [12.Декабрь.2020 00:25:05 UTC](https://meta.discourse.org/t/assigning-parent-category-to-a-category-that-already-has-subcategory-produces-error/173032/2 "2020-12-12T00:25:05Z")

</div>

Знаете ли вы, какую версию Discourse использует ваш сайт? Если ваш сайт размещён самостоятельно, версию можно найти в верхней части панели администратора сайта. Причина моего вопроса в том, что, по моему мнению, Discourse должен был предотвратить добавление родительской категории. Когда я пытаюсь это сделать, получаю следующую ошибку:

 ![errormsg](https://global.discourse-cdn.com/meta/original/4X/a/1/d/a1db8dc13b22a0c172a97777bc9a877bf79062e4.png)

Возможно, вы столкнулись с ошибкой, которая была исправлена в более новой версии Discourse. Также возможно, что я некорректно воспроизвожу проблему.

---

<div class="post-metadata">

### Author: ![Yasmeen\_Kashef](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/yasmeen_kashef/32/191337_2.png) [@Yasmeen\_Kashef](https://meta.discourse.org/u/Yasmeen_Kashef)
#### Post date: [12.Декабрь.2020 02:52:49 UTC](https://meta.discourse.org/t/assigning-parent-category-to-a-category-that-already-has-subcategory-produces-error/173032/3 "2020-12-12T02:52:49Z")

</div>

Спасибо за помощь, @simon.

Сайт размещён самостоятельно, и, похоже, установлена последняя версия.

Вот детали версии. Это поможет?

 ![Screenshot_20201211-214449](https://global.discourse-cdn.com/meta/original/3X/b/e/be9106f02a7c48a0c17557582c0409e758347b6c.jpeg)

---

<div class="post-metadata">

### Author: ![riking](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/riking/32/170938_2.png) [@riking](https://meta.discourse.org/u/riking)
#### Post date: [14.Декабрь.2020 18:51:06 UTC](https://meta.discourse.org/t/assigning-parent-category-to-a-category-that-already-has-subcategory-produces-error/173032/4 "2020-12-14T18:51:06Z")

</div>

Есть ли какие-либо подробности об ошибке при посещении страницы по адресу `/logs`?

---

<div class="post-metadata">

### Author: ![Yasmeen\_Kashef](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/yasmeen_kashef/32/191337_2.png) [@Yasmeen\_Kashef](https://meta.discourse.org/u/Yasmeen_Kashef)
#### Post date: [14.Декабрь.2020 21:37:41 UTC](https://meta.discourse.org/t/assigning-parent-category-to-a-category-that-already-has-subcategory-produces-error/173032/6 "2020-12-14T21:37:41Z")

</div>

Я не увидел никаких релевантных деталей об ошибке в `/logs`. Я не разработчик, поэтому мог что-то упустить.

Однако мне удалось воспроизвести ошибку. Она выглядит достаточно последовательной. Я также проверил `/logs`, и там ничего нового не появилось.

Вот сообщение, которое я получил при попытке назначить родительскую категорию той, у которой уже есть подкатегории.

 ![image](https://global.discourse-cdn.com/meta/original/3X/d/0/d0fc9009b0aee7944e55314d495563f841641d77.png)

Вот дополнительные детали того, что происходит после этого:

**1. Что касается Cat-A**  
_категории с подкатегориями, которой я попытался назначить новую родительскую категорию_

> - Cat-A отображается на главной странице категорий как обычно. Переход по Cat-A и её подкатегориям работает нормально.
> - Cat-A больше не отображается в основном меню навигации в разделе «Все категории»  
> ![image](https://global.discourse-cdn.com/meta/original/3X/f/7/f7fad03b79e366d8c3a37b738ee92c0bf18a29e6.png)
> - При **редактировании** Cat-A появляется ошибка 404 с сообщением, что страница не видна.

**2. Что касается Cat-B**  
_это категория, которой я попытался назначить Cat-A_

> - Cat-A отображается в выпадающем списке Cat-B  
> ![image](https://global.discourse-cdn.com/meta/original/3X/4/1/413beb0ba332a7fdd22ac98ce3ed1dd0ec5ad661.png)
> - При **редактировании** Cat-B всё работает нормально

**3. Что касается подкатегорий**

> При **редактировании** любой подкатегории появляется та же ошибка
> 
> ![image](https://global.discourse-cdn.com/meta/original/3X/9/9/995a3b458a6ac8ace5063dab6eef8a1fb100b798.png)

И вот, после всего написанного, ошибка волшебным образом исчезла сама собой, и мне не пришлось использовать обходной путь с ручным вводом URL. Похоже, теперь всё в порядке, друзья.
