Přístup k neexistující Action

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

Ahoj, potřebuju kontrolovat přítup k (ne)existující Action. Nějak nevím, jak to udělat.. Prostě dát tu kontrolu do konstruktoru třeba BasePresenter, aby když se pokusí uživatel přistoupit k action co neexistuje, aby ho to dejme tomu přesměrovalo nebo hodilo chybu.. Díky za radu. H

Petr Motejlek
Člen | 293
+
0
-

Specifikuj, co myslíš tou kontrolou. Jestli ti jde pouze o nějaké odchycení, že uživatel jde někam, kam nemá, stačí chytat BadRequestException…

Honca
Člen | 28
+
0
-

Petr Motejlek napsal(a):

Specifikuj, co myslíš tou kontrolou. Jestli ti jde pouze o nějaké odchycení, že uživatel jde někam, kam nemá, stačí chytat BadRequestException…

No jasný, jde mi o to, když uživatel napíše do url název action, která neexistuje, tak abych na to mohl zareagovat.. pokud ale opravdu stačí odchytit tuhle výjimku, tak moc díky ;-)

Ondřej Mirtes
Člen | 1536
+
0
-

Každá action automaticky existuje, bez parametrů. Jestli se zobrazí #404 (o to se stará ErrorPresenter), nebo nějaká stránka, záleží na tom, jestli pro danou action existuje soubor se šablonou.

Což by odpovídalo chování, že metody typu actionName (kde name je název action) se spustí, pokud existují, i když neexistuje jejich šablona, ale opravdu jsem to netestoval.

Pro zobrazování chyb slouží ErrorPresenter, podívej se třeba do Skeletonu v tools/Skeleton, jak vypadá.

Editoval Ondřej Mirtes (17. 12. 2009 17:05)

Honca
Člen | 28
+
0
-

Ondřej Mirtes napsal(a):

Každá action automaticky existuje, bez parametrů. Jestli se zobrazí #404 (o to se stará ErrorPresenter), nebo nějaká stránka, záleží na tom, jestli pro danou action existuje soubor se šablonou.

Což by odpovídalo chování, že metody typu actionName (kde name je název action) se spustí, pokud existují, i když neexistuje jejich šablona, ale opravdu jsem to netestoval.

Pro zobrazování chyb slouží ErrorPresenter, podívej se třeba do Skeletonu v tools/Skeleton, jak vypadá.

Jojo, díky moc, už to funguje.. Ten ErrorPresenter mě nenapadnul..