考虑PersonController
行为list
。用户可以选择列出所有人,或仅列出男性或女性;目前,要做到这一点,他们必须转到/people/m
或/people/f
,对应路线
map.list_people "people/:type",
:conditions => { :method => :get },
:requirements => { :type => /a|m|f/ },
:defaults => { :type => 'a' }
(/people/a
与/people/
的工作方式相同,并列出所有人员。)
我想更改路由,以便我可以使用两个路由/males/
和/females/
(而不是people/:type
),这两个路由都会转到PersonController#list
(干 - 除了一个额外的参数到被搜索的内容,其他一切都是相同的),但本来会设置type
- 有没有办法做到这一点?
答案 0 :(得分:3)
map.with_options(:controller => "people", :action => "index") do |people|
people.males 'males', :type => "m"
people.females 'females', :type => "f"
end
然后你应该能够males_path
或males_url
来获得这条路径,而且我相信你可以猜到你做了什么来获得通往女性的道路。