Argomento con giapponese nell'URL non reindirizza se l'URL non corrisponde perfettamente

Ho analizzato il nostro codice e sembra che l’errore sia piuttosto semplice, ma vorrei verificare le mie ipotesi.

Abbiamo una configurazione del sito chiamata slug_generation_method che deve essere modificata dal valore predefinito ascii a encoded per attivare questo bug. Quando si modifica questa configurazione, cancelliamo tutti gli slug e li rigeneriamo.

Quello che non capisco è perché, quando la configurazione del sito è impostata su “encoded”, generiamo uno slug in questo modo:

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

mentre mi aspettavo che “encoded” significasse qualcosa come

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

Questo sembra provenire da

Lo slug grezzo dalla tabella viene restituito nell’intestazione Location della risposta 301 quando lo slug di un argomento non corrisponde e, a mio avviso, dovremmo restituire un URL valido.

9 Mi Piace