Invalid link: Unable to pass parameters to action ‚Homepage:delete‘, missing corresponding method

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

Dobrý deň môžete mi pomôcť s týmto problémom <a n:href=„Student:delete $student->id“ viem že Student je presenter a delete je šablona ale link nejde Ďakujem za pomoc

{block content}
<table width="60%">
<tr style="background-color:#323299; color:white; text-align:center;"><td width="10%">Poradie</td><td width="20%">Meno</td><td width="20%">Priezvisko</td><td width="10%">Skupina</td><td width="10%">Úprava1</td><td width="10%">Úprava2</td></tr>
{foreach $students as $student}

<tr style="background-color:#00cc00; color:white; text-align:center;"><td width="10%">{$student->id}</td><td width="20%">{$student->name}</td><td width="20%">{$student->lastname}</td><td width="10%">{$student->group}</td><td width="10%"><a n:href="Student:delete $student->id">{$student->name}</a></td><td width="10%">Zmeň</td></tr>
{/foreach}
</table>
{/block}
Oli
Člen | 1215
+
+1
-

No ne tak úplně. Delete je akce. A podle chybový hlášky nemáš tu akci definovanou v presenteru Student. Respektive nemáš akci, která by přijímala marametr. Chybí ti tam něco jako

public function delete($id)
{
	// kod pro smazani
}

Ale pro smazaani je vetsinou lepsi pouzit signal nez akci, protoze neobsahuje zadnou specialni sablonu…

Václav Kraus
Člen | 77
+
+2
-

delete není šablona, ale je to metoda presenteru Student (předáváš tomu parametr)

class StudentPresenter extends BasePresenter{

   public function handleDelete($id){
    //...
   }
}