Tema con japonés en la URL no redirige si la URL no coincide perfectamente

He revisado nuestro código y parece que el error es bastante sencillo, pero me gustaría verificar mis suposiciones.

Tenemos una configuración del sitio llamada slug_generation_method que debe cambiarse del valor predeterminado ascii a encoded para activar este error. Cuando cambias esta configuración del sitio, eliminamos todos los slugs y los generamos de nuevo.

Lo que no entiendo es por qué, cuando la configuración del sitio está establecida en “encoded”, generamos un slug de esta manera:

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

cuando esperaba que “encoded” significara algo como:

[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"

Esto parece provenir de:

El slug sin procesar de la tabla se devuelve en la cabecera Location de la respuesta 301 cuando el slug de un tema no coincide y, en mi opinión, deberíamos devolver una URL válida allí.

9 Me gusta