Ich habe eine Route für meine Benutzer wie /iGEL/contributions
, die gut funktioniert. Aber jetzt hat sich ein Benutzer mit einem Namen wie 'A.and.B.' registriert, und jetzt stimmt die Route nicht mehr überein, da der Name Punkte enthält.
Meine Route:
get "/:user/contributions" => 'users#contributions'
Irgendwelche Ideen?
/.*/
funktioniert auch, ich kenne Regex nicht gut genug, um den Unterschied zu erkennen.format: false, defaults: {format: 'html'}
, dass Rails nicht mehr versucht, das Punktsegment als Dateierweiterung zu behandeln, die einen Inhaltstyp angibt.Wenn Ihr Variablensegment das letzte ist, wird bei Verwendung des
[^\/]
regulären Ausdrucks auch das Format verwendet. Verwenden Sie in einem solchen Fall lieber:/([^\/]+?)(?=\.json|\.html|$|\/)/
quelle
Der folgende Link beantwortet Ihre Frage.
http://avdi.org/devblog/2010/06/18/rails-3-resource-routes-with-dots-or-how-to-make-a-ruby-developer-go-a-little-bit- wahnsinnig/
quelle