Форматирование и акценты в URL

Всем привет! У меня возникли проблемы с форматированием URL.

Он автоматически генерируется в вопросах и добавляет диакритические знаки.

Например: https://cashlandia.com.br/c/dívidas/10

В браузере это выглядит так: https://cashlandia.com.br/c/dívidas/10

А я пытаюсь получить: https://cashlandia.com.br/c/dividas/10

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

Хотя, думаю, это не вина Discourse — вам следует избегать специальных символов в слагах категорий.

Оставьте название категории «Dívidas», но используйте dividas как слаг категории.

В противном случае, если слаг категории будет сохранён с акцентом, он сразу же изменится: image

Категория вот эта: https://cashlandia.com.br/c/dívidas/10

Однако я заметил, что после её создания остальные я смог отредактировать, но при попытке редактирования этой возникла ошибка 404. Это единственная категория, в которой исчезли диакритические знаки.

Даже вопросы, которые я добавлял с диакритическими знаками, теперь отображаются нормально, без каких-либо изменений — я просто очистил кэш. Эту категорию нельзя редактировать, она удаляется.

Измените настройку сайта «метод генерации ссылок» на «кодированный», если вы хотите использовать специальные символы в ваших URL-адресах.

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

Вам потребуется:

  1. Изменить настройку сайта «Метод генерации ссылок» на «Кодированный»

  2. Обновить страницу

  3. Перейти к редактированию проблемной категории и изменить ссылку на ASCII-совместимую

  4. Вернуться назад и отменить изменение настройки сайта

@Falco,

У меня была та же проблема.

Метод slug generation method установлен в ascii, но я случайно ввёл слав с акцентом. После этого я не мог попасть на страницу редактирования категории.

В конце концов я исправил проблему, зайдя в консоль Rails и исправив слав там.

Это не полностью вина Discourse, так как это зависит от того, что пользователь ввёл акцент там, где его быть не должно. Но было бы здорово, если бы система проверяла, содержит ли введённый слав только ASCII-символы, если метод slug generation method установлен в ascii.