2009-09-05 8 views
3

Dans mon routes.rb J'ai:Se déplacer dans des points "jolies urls"

map.connect ':name', 
      :controller => 'my_classes', 
      :action => 'show' 

et qui fonctionne parfaitement, donc une url comme ça envoie params comme ceci:

http://localhost:30000/awesome 
Parameters: {"name"=>"awesome"} 

Mais si j'ai quelque chose comme ça, j'ai cette erreur:

http://localhost:30000/weak.sauce 
ActionController::RoutingError (No route matches "/weak.sauce" with {:method=>:get}): 

Comment puis-je contourner ce problème?

Répondre

5

Vous pouvez essayer

ou de l'utilisation quel que soit l'expression régulière que vous voulez pour le nom. (Celui que j'ai suggéré devrait correspondre à n'importe quelle lettre ou combinaison de points - weak.sauce, weak...sauce, .weak.sauce., etc.)

+0

Parfait. J'ai vraiment besoin de passer une semaine sur des expressions régulières, j'avais l'intuition que la solution les inclurait. –

+1

dans l'expression régulière, vous pourriez vouloir échapper le "." ainsi: \. –

+0

@valters: Merci, corrigé. –

Questions connexes