Указание параметра из маршрута - PullRequest
0 голосов
/ 24 августа 2009

Рассмотрим 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 (DRY - помимо дополнительного параметра тому, что ищется, все остальное идентично), но по своей сути установит type - есть ли способ сделать это?

1 Ответ

3 голосов
/ 24 августа 2009
map.with_options(:controller => "people", :action => "index") do |people|
  people.males 'males', :type => "m"
  people.females 'females', :type => "f"
end

Тогда вы сможете сделать males_path или males_url, чтобы найти путь для этого, и я уверен, что вы можете догадаться, что вы делаете, чтобы получить путь к женщинам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...