setDefaults občas nefunguje, jak má
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- castamir
- Člen | 629
Mám formulář, kterému v action nastavím defaultní hodnoty z databáze. Na produkčním režimu se mi ale stává, že občas se data prostě nenačtou – je nutné nejprve obnovit stránku a poté se data objeví. Neví někdo, v čem by mohl být zakopaný pes?
EDIT: Zkusím to trošku podrobněji popsat:
protected function createComponentFormular($name) {
$form = new Form;
$form->addText(...)
...
return $form;
}
private function doSomeMagicUserRow($user) {
$userArray = array();
foreach ($user as $key => $value) {
$this->flashMessage("key=" . $key . " value=" . $value); // pro me prehlednejsi vypis, nez pomoci dump()
$userArray[$key] = $value;
}
return $userArray;
}
public function actionEdit($id = 0) {
if (($user = $this->context->createUsers()->find($id)->fetch()) !== FALSE) {
$regForm = $this["formular"];
$regForm->setDefaults($this->doSomeMagicUserRow($user));
} else {
...
}
}
Smažu cache, zobrazím stránku, flashMessage vypíše korektně obsah řádku tabulky, ale formulář je prázdný. Obnovím stránku, flashMessage vypíše korektně obsah řádku tabulky a formulář je korektně vyplněn. Proč se nevyplní hned?
Editoval castamir (29. 6. 2012 11:28)