Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

Метод генерации урла ns.router.generateUrl #154

Merged
merged 6 commits into from Sep 12, 2013

Conversation

Projects
None yet
2 participants
Member

chestozo commented Sep 5, 2013

ns.router.generateUrl(page, params) и тесты к нему.
/сс @doochik @edoroshenko

Member

chestozo commented Sep 5, 2013

Will Fix #123

Member

chestozo commented Sep 5, 2013

ща, попробую схлопнуть всё в один коммит )

Member

chestozo commented Sep 5, 2013

Готово, можно review-ить / merge-ить

Member

chestozo commented Sep 5, 2013

Замёрж меня )

Owner

doochik commented Sep 10, 2013

Добавил падающий тест

Member

chestozo commented Sep 10, 2013

Ready to merge

Owner

doochik commented Sep 11, 2013

Может добавим еще поддержку rewriteUrl ?

Есть роут

routes = {
  rewriteUrl: {
     '/shortcut': '/page/1'
  },
  route: {
     '/page/{id:int}': 'page'
  }

}

Сейчас ns.router.generateUrl('page', {id: 1}) сгенерит /page/1, а хочется /shortcut
По сути надо всего лишь после генерации прогнать урл через обратный хеш от rewriteUrl

Member

chestozo commented Sep 11, 2013

Договорились о следующем:

  1. ns.router.generateUrl(id, params) генерит урл, все параметры, которые не попали в урл сохраняются отдельным списком (см. дальше)
  2. сгенерённый урл прогоняется через rewriteUrl (в цикле, пока не останется rewrite-ов для текущего урла)
  3. к полученному урлу дописывают параметры из п.1 в виде querystring
Member

chestozo commented Sep 11, 2013

Ммм... а у нас ведь ещё есть rewriteParams, его не трогаем? Это ведь функция? )

Member

chestozo commented Sep 11, 2013

И снова всё готово )
Только нужно прояснить вопрос про rewriteParams )

@doochik doochik merged commit 430f03c into master Sep 12, 2013

1 check passed

default The Travis CI build passed
Details
Member

chestozo commented Sep 12, 2013

Откатили и будем дорабатывать в #160

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment