OK, merci pour le tuyau, j'essayerai ça... si j'arrive à ce stade.
Là tout de suite, j'avoue que je commence à désespérer. Car pour rester sur ma lancée, j'ai commencé à préparer l'embed comme suit :
1 2 3 4 5 6 7 8 9 10 11
| class ActualiteForm extends BaseActualiteForm {
public function configure() {
unset($this['created_at'], $this['updated_at']);
// Insertion du formulaire pour l'ajout d'un livre
$actuLivre = new ActualiteLivre();
$actuLivre->setActualite($this->getObject());
// $form = new ActualiteLivreForm();
// ...
}
} |
A ce stade, aucun formulaire n'est encore ajouté.
Si je vais en edit sur une Actualité et que je sauvegarde, tout va bien.
Maintenent, je décommente la première ligne de commentaires :
1 2 3 4 5 6 7 8 9 10 11
| class ActualiteForm extends BaseActualiteForm {
public function configure() {
unset($this['created_at'], $this['updated_at']);
// Insertion du formulaire pour l'ajout d'un livre
$actuLivre = new ActualiteLivre();
$actuLivre->setActualite($this->getObject());
$form = new ActualiteLivreForm();
// ...
}
} |
Je retourne en edit sur une Actualité, je sauvegarde et patatras, tout plante.
Cause : mon formulaire ActualiteForm a désormais comme tag HTML le code suivant :
<form method="post" action="/backend_dev.php/actualite/No+description+for+object+of+class+%22ActualiteLivre%22">
Le message No+description+for+object+of+class+%22ActualiteLivre%22" vient du fait que le __toString() de ActualiteForm plante. Si je le surcharge, j'aurais le résultat surchargé dans le champ action du formulaire.
Conclusion : le formulaire Actualite utilise pour son action les données d'ActualiteLivre.
WTF ?
Partager