Quando si utilizza accept_nested_attributes_for, anziché passare "child_attributes", mi piacerebbe passare "child". Sono abbastanza sicuro che se metterò molta logica nel mio controller per creare i record e i bambini, potrei farlo. Tuttavia, nel tentativo di mantenere i miei controllori puliti e logici dove dovrebbe essere, il modello in questo caso, mi piacerebbe sapere come cambiare i binari 3 in giro per usare questa sintassi quando si fa un POST o PUT.Rails 3 Come posso consentire il passaggio degli attributi nidificati senza la designazione _attributes
{
"name": "test",
"child_attributes": [
{
"id": 1,
"name": "test_child_update"
},
{
"name": "test_child_create"
}
}
Piuttosto
{
"name": "test",
"child": [
{
"id": 1,
"name": "test_child_update"
},
{
"name": "test_child_create"
}
}
Posso chiedere perché si desidera modificare questo? – Robin
C'è una ragione per questa convenzione, poiché l'attributo 'child' si riferisce effettivamente alla collezione di oggetti' Child', non agli attributi degli oggetti 'Child'. L'attributo 'child_attributes' è usato per chiarire l'intento. – PinnyM
Ho intenzione di guadare qui. Il tipo di oggetto che deve essere passato dovrebbe essere sufficiente per determinare l'intenzione. Inoltre, poiché non ci sono classi in JSON, l'uso di '_attributes' in realtà non cancella nulla. – user1158559