Помощники маршрута Rails для map.connect - PullRequest
0 голосов
/ 28 августа 2009

в моем текущем приложении rails у меня есть набор именованных маршрутов, определенных для работы со статическим контентом, например:

map.with_options :controller => 'static_content' do |static|
  static.imprint    'imprint',    :action => 'imprint'
  static.menu1      'menu1',      :action => 'menu1'
  static.menu1_sub1 'menu1/sub1', :action => 'menu1_sub1'
  static.menu1_sub2 'menu1/sub2', :action => 'menu1_sub2'
  static.menu2      'menu2',      :action => 'menu2'
  ...
end

Теперь я хотел бы реорганизовать этот довольно отвратительный фрагмент маршрутизации, чтобы получить что-товот так:

map.connect 'menu1/:action', :controller => 'static/menu1'
map.connect 'menu2/:action', :controller => 'static/menu2'
...

Я создал статическое пространство имен контроллера и сопоставил действия всех этих контроллеров в пространстве имен.Но теперь - конечно же - все эти полезные помощники маршрута, такие как menu1_sub2_path , перестают работать, и мне придется их поменять.

Уфф!Рефакторинг всех способов использования помощников на пути к уродливым: controller-: action-style?

Итак, мой вопрос, видит ли кто-нибудь хороший способ обойти это.Есть ли способ определить эти помощники пути или способ их создания?Или даже более умный способ сделать эти неприятные сопоставления?

Спасибо за вашу помощь,

Джо

1 Ответ

2 голосов
/ 28 августа 2009
map.with_options :controller => 'static_content' do |static|
  static.page ':action'
end

тогда назовите это:

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