Удаление группы с ошибкой 404

Привет, друзья. Мне нужно создать 93 группы на форуме. Я быстро начал добавлять группы. Затем, когда я создал группу и перешёл по ссылке на неё, появилась ошибка 404. Теперь эта группа отображается на странице групп, но при клике на неё снова возникает ошибка 404. Я не могу её удалить. При попытке создать новую группу появляется ошибка 500. Я установил Discourse, следуя официальной документации. Я использую Amazon CloudFront и S3.

Привет, meikici :wave:

Как называется ваша группа (слаг)? Какие языки используются на вашем форуме Discourse?

Вы создавали группы вручную через интерфейс?

Возникают ли у вас другие проблемы, помимо создания групп?

Сохраняется ли проблема при использовании безопасного режима?

Привет, @Canapin :wave:

Мой форум на турецком языке. Есть группа с турецким символом в слэге. Однако, поскольку в URL активно используются символы ASCII, это не является проблемой. Уже существуют другие группы, содержащие турецкие символы. Моя проблема сейчас заключается в следующем: у меня есть две группы, которые на странице групп возвращают ошибку 404, и я хочу их удалить. Как это сделать?

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

Каковы названия и слаг-имена групп, которые не работают? Есть ли ошибки в логах?

Вы можете удалить их в Rails примерно так.

cd /var/discourse
./launcher enter app
rails c
g=Group.find(123)
g.destroy 

Да, в логах зафиксирована ошибка, возникшая при работе с одной из двух групп.

ActiveRecord::RecordNotUnique (PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "index_groups_on_name" DETAIL: Key (name)=(İstanbul) already exists. ) app/controll

Ваша проблема немного напоминает эту с названиями категорий:

Не уверен, что они связаны, но, возможно, стоит посмотреть.

Я изменил метод кодировки символов, но всё равно получаю ошибку 404.

Можете зайти в консоль Rails и выполнить Group.pluck(:id, :name), чтобы получить названия и ID групп, и посмотреть, нет ли каких-либо аномалий?

Или используйте SELECT id, name FROM groups в Data Explorer.

С помощью этого метода мне удалось удалить одну из двух групп, возвращающих ошибку 404, но одна всё ещё остаётся. Я не знаю ID этой группы и не могу её найти.

Как найти ID группы, которая возвращает ошибку 404?

Вы пробовали это?

@pfaffman @Canapin Спасибо за помощь. Я удалил проблемные группы.

Хорошо это слышать. :+1:

Было бы интересно узнать, как так вышло, что появились дубликаты названий групп (если это была проблема).
Они должны быть уникальными, и с помощью команд Rails их даже нельзя переименовать в уже существующие.

Вы ничего не помните, что могло к этому привести?

Возможно, вы создали группы с похожими названиями, и после удаления специальных символов система попыталась создать две группы с одинаковым слагом? Если это так, то это ошибка. Если вы сможете описать, как её воспроизвести, есть шанс, что её удастся исправить.

Я пытался воспроизвести что-то подобное, но название группы (которое, насколько я знаю, является слагом) должно быть установлено до создания группы:
image

И «должно содержать только цифры, буквы, дефисы, точки и подчеркивания».

Разрешённые символы юникода для имени пользователя не влияют на название группы, как и язык интерфейса.

:person_shrugging:

По результатам тестирования на другом форуме я не уверен, на что именно влияет эта настройка, но включение имён пользователей с символами юникода действительно позволяет использовать символы юникода в названиях групп. Не могло ли это стать причиной данной проблемы?

В названиях групп, которые я создал ранее, были символы Unicode, и слаг автоматически их исправлял. В группах, созданных позже, я заметил, что этого не произошло.

Нет, не припоминаю. Я был слишком занят быстрой добавлением групп :slight_smile:

Да, всё верно. Я учёл это при создании группы.