Proměnné default values při editaci

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

Dobrý den,
pro editaci projektu využívám formulář, kterému přiřadím výchozí hodnoty z protected $project.

Př.:

$form->addSelect('state','Stav:', \ProjectComponent::STATES)
        ->setDefaultValue($this->project->state);

Při renderování se výchozí hodnoty vykreslí v pořádku, ale při odeslání formuláře laděnka hlásí chybu ... property of non-object pro všechny ->setDefaultValue($this->project...). V této situaci se formulář vykreslí dříve než renderEdit($id)? Z jakého důvodu? Jak tuto problematiku obejít tak, aby výchozí hodnoty patřily k vybranému projektu, ale formulář šel odeslat?

Děkuji

David Matějka
Moderator | 6445
+
+2
-

V této situaci se formulář vykreslí dříve …

nevykreslí, ale musí se sestavit, aby došlo k jeho zpracování. A zpracování probíhá v rámci životního cyklu na úrovni handle metod. Řešením je tedy přesunout načítání projektu z render* metody do action* metody.

Mahal
Člen | 20
+
0
-

Děkuji za upřesnění. Již funguje.