Routování – regulární výraz zruší platnost správné routy

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
dexter0
Člen | 1
+
0
-

Zdravím,
dělám v Nette svůj první projekt a narazil jsem na problém s routováním ( při tom je to podle mě úplně jednoduché), tak bych vás chtěl poprosit o radu či názor :)
mám definovanou routu

<?php
$container->router[] = new Route('novinky/<id>[-<name>]', 'News:detail');
?>

makro n:href správně generuje odkaz example.com/novinky/1-prvni-novinka,

jelikož pomocí id přistupuji do databáze, tak jsem tam chtěl přidat zabezpečení tím, že do id povolím pouze čísla, tak jsem si upravil routu na

<?php
$container->router[] = new Route('novinky/<id [0-9]+>[-<name>]', 'News:detail');
?>

najednou ale makro n:href negeneruje odkaz example.com/novinky/1-prvni-novinka,
ale vygeneruje error: No route for News:detail(id=1-prvni-novinka)
při zadání adresy example.com/novinky/1-prvni-novinka se ale vše zobrazí správně,
nechápu kde můžu dělat chybu, nebo co je příčinou neúspěchu,
díky za jakékoliv konstruktivní odpovědi :)

Felix
Nette Core | 1190
+
0
-

A delas ten odkaz spravne? Resp.

<a n:href="News:detail, $id, $name">Odkaz</a>

Nebo

<a n:href="News:detail, id => $id, name => $name">Odkaz</a>

Editoval Felix (8. 9. 2012 14:37)