La bonne solution dépendra si vous prévoyez de stocker des valeurs scalaires sous $_POST['invoice']['new_item_attributes'] ou si vous prévoyez d'en faire un tableau de tableaux (en d'autres termes, vous prévoyez d'avoir des multiples de new_item_attributes .
Si vous prévoyez uniquement de stocker des valeurs scalaires, vous devrez d'abord modifier chacun des éléments du formulaire pour qu'il ressemble à ceci :
name="inovoice[new_item_attributes][description]"
Vous remarquerez que le [] vide a disparu.
Et puis votre boucle devrait ressembler à ceci :
foreach($_POST['invoice']['new_item_attributes'] as $key => $val) {
$data = array('description => $value);
}
Sinon, vous devrez utiliser ceci dans votre code PHP :
foreach($_POST['invoice']['new_item_attributes'] as $key => $val) {
$data = array('description' => $val['description']);
}
Ou :
foreach($_POST['invoice']['new_item_attributes'] as $key => $val) {
foreach($val as $sub => $value) {
$data = array($sub => $value);
}
}