Ich muss Routen wie /:slug
behandeln. Die Nacktschnecken sind anderswo beschränkt, um zu passen:
Die offensichtlichen Wege:
%Vor% funktioniert gut mit ASCII-URLs wie /mu-is-too-short
und /where.is.pancakes.house
, aber alles fällt auseinander, wenn die URL /µ-is-too-short
ist. Der Browser sendet dies an den Server:
und Rails versucht, die codierte %C2%B5-is-too-short
gegen die Einschränkung :slug
zu prüfen und schlägt fehl, weil %
keine \p{Alnum}
ist.
Ich habe zwei kludges gefunden:
%Vor% Das :slug => /[^\/]+/
in der Sekunde wird benötigt, damit Rails nicht daran denkt, dass .b
in a.b
eine Formatendung ist.
Gibt es eine Möglichkeit, wie sich Rails vernünftig verhalten und das dekodierte :slug
gegen die Einschränkungen überprüfen oder muss ich die Beschränkungen lockern oder manuell machen?
Tags und Links ruby-on-rails-3 ruby-on-rails utf-8 routing