Тема с японским в URL не перенаправляет, если URL не совпадает точно

Я изучил наш код, и похоже, что ошибка довольно проста, но я хотел бы проверить свои предположения.

У нас есть настройка сайта с именем slug_generation_method, которую необходимо изменить со значения по умолчанию ascii на encoded, чтобы вызвать эту ошибку. При изменении этой настройки мы очищаем все слайги и генерируем их заново.

Что я не понимаю, так это почему при установке настройки сайта в значение “encoded” слайг генерируется следующим образом:

[3] pry(main)> SiteSetting.slug_generation_method
=> "encoded"
[4] pry(main)> Slug.for(t.slug)
=> "キノの旅-home-thread-intermediate-book-club"

где я ожидал, что “encoded” означает что-то вроде

[5] pry(main)> CGI.escape(Slug.for(t.slug))
=> "%E3%82%AD%E3%83%8E%E3%81%AE%E6%97%85-home-thread-intermediate-book-club"

Это, по-видимому, связано с

Необработанный слайг из таблицы возвращается в заголовке Location ответа 301, когда слайг темы не совпадает, и, на мой взгляд, мы должны возвращать там корректный URL.

9 лайков