Den korrekta lösningen beror på om du planerar att lagra skalära värden under $_POST['faktura']['new_item_attributes'] eller om du planerar att göra det till en array av arrays (med andra ord, du planerar att ha multiplar av new_item_attributes .
Om du bara planerar att lagra skalära värden måste du först ändra vart och ett av formulärelementen så att de ser ut så här:
name="inovoice[new_item_attributes][description]"
Du kommer att märka att den tomma [] är borta.
Och då ska din loop se ut så här:
foreach($_POST['invoice']['new_item_attributes'] as $key => $val) {
$data = array('description => $value);
}
Annars måste du använda detta i din PHP-kod:
foreach($_POST['invoice']['new_item_attributes'] as $key => $val) {
$data = array('description' => $val['description']);
}
Eller:
foreach($_POST['invoice']['new_item_attributes'] as $key => $val) {
foreach($val as $sub => $value) {
$data = array($sub => $value);
}
}