使用Rails命名路由时如何使参数可选?

时间:2010-05-04 16:43:45

标签: ruby-on-rails routing routes nested-routes

我有一条命名路线:

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

并且以下网址与之匹配&工作正常:

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

但如果我取出第二个最后一个参数,即“TestSearchTerm”,那么路线无法匹配,即使我在路线中有:search_term => nil。

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

谁能看到我做错了什么?试图解决这个问题几天了。

谢谢!

1 个答案:

答案 0 :(得分:1)

在当前路线后添加:

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