Generování odkazu selže, pokud hodnota parametru url v path obsahuje lomítko

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

Narazil jsem na dost překvapivý problém. I když to není zrovna asi typické, tak se mi může stát, že potřebuji předat skrz url hodnotu obsahující dopředné lomítko (musím pracovat s databází, kde položky jsou identifikované řetězci, které můžou obsahovat všelijaké šílenosti). Pokud je ta hodnota součástí query, tak je to v pořádku, ale pokud je přímo v path, tak se url nevygeneruje.

Routa je definovaná takto:

<?php
$router[] = new Route('<module>/<presenter>/<action>[/<id>]', 'Default:default');
?>

A akce třeba takto:

<?php
public function actionAction($id)
{
}
?>

A takto vytvářím odkaz:

<?php
$this->presenter->link("Module:Presenter:action", "a/b");
?>

V této konfiguraci generování odkazu selže klasicky „No route for…“. Chápu, že lomítko navíc je v URL už z principu problém (a tak trochu nesmysl), nicméně bych předpokládal, že se tam provede automaticky nějaké escapování hodnot. Je toto chování v pořádku?

Marek Šneberger
Člen | 130
+
+2
-

Asi budeš muset ty lomítka povolit, defaultně je Nette neakceptuje.