ich habe mir gerade meine edit-views angesehen und dabei folgendes Problem festgestellt:
- Code: Alles auswählen
- #
function edit($id = NULL) {
if (!empty($this->data)) {
if ($this->Post->save($this->data)) {
$this->Session->setFlash('Der Beitrag wurde erfolgreich geändert');
$this->redirect(array('controller' => 'posts','action' => 'index'));
}
}
else {
$this->Post->id = $id;
$this->data = $this->Post->read();
$this->set('id',$id);
}
}
und die View:
- Code: Alles auswählen
<h1>Beitrag editieren</h1>
<?php echo $form->create('Post', array('action'=>'edit/'.$id));?>
<p><?php echo $form->input('titel',
array('error'=>
array(
'required'=>'Bitte dieses Feld ausfüllen',
'length'=>'Das Feld darf nicht mehr als 100 Zeichen enthalten'
)
)
);?></p>
<p><?php echo $form->input('inhalt',
array('type'=>'textarea', 'error'=>'Bitte dieses Feld ausfüllen')
);?></p>
<p><?php echo $form->submit('Änderungen speichern');?></p>
<?php echo $form->end();?>
Mir geht es darum, wie man der Action die Id übergibt. Beim ersten Aufruf kein Problem, kommt durch die Url. Aber beim 2 mal wird es schwieriger. Gibt es eine sauber Lösung die Id zu übergeben, ohne sie an die action zu hängen oder eine Hiddenfeld einzubauen?!