2010-05-04 13 views
1

J'ai un itinéraire nommé:Comment rendre les paramètres facultatifs lors de l'utilisation de routes nommées Rails?

map.find '/find/:category/:state/:search_term/:permalink', :search_term=>nil, :controller=>'find', :action=>'show_match' 

et l'URL suivante correspond à ce & fonctionne OK:

http://localhost:3000/find/cars/ca/TestSeachTerm/bumpedupphoto-test 

mais si je prends le 2ème dernier paramètre ie "TestSearchTerm", puis la route échoue pour être apparié, même si j'ai: search_term => nil dans la route.

http://localhost:3000/find/cars/ca//bumpedupphoto-test 

Quelqu'un peut-il voir ce que je fais mal? En essayant de résoudre cela pour quelques jours maintenant.

Merci!

Répondre

1

Ajouter ceci après votre itinéraire actuel:

map.find '/find/:category/:state/:permalink', :controller=>'find', :action=>'show_match' 
+0

Merci pour cela. Lorsque je mets cela en route, les rails ne peuvent pas décider quelle route utiliser: Vous avez un objet nul quand vous ne l'attendiez pas! L'erreur s'est produite lors de l'évaluation de la clé nil.has_key? – Jason

+0

quelle ligne de code vous donne ce message? – Zepplock