Je viens de terminer RailsCasts 196 et 197, traitant des modèles imbriqués dans les formulaires. En examinant les attributs 'name' générés des éléments de formulaire, il est tout à fait clair que les nombres entre parenthèses représentent les positions de tableau, plutôt que les identifiants de clés primaires. Par exemple, dans le cas de:Rails 3 accepte_nested_attributes_for et la concurrence
name="survey[questions_attributes][0][answers_attributes][2][content]"
« 0 » indique que la première question apparaissant sous la forme, plutôt que de la question avec id = 0 (ce qui serait illégal dans tous les cas). De même, '2' indique la troisième réponse, pas la réponse avec id = 2. Que se passe-t-il si un utilisateur supprime la question 0 alors qu'un autre utilisateur modifie la question 1. Après la suppression, la question 1 sera à la position 0 du tableau. Cela posera-t-il un problème? Pourquoi ne pas simplement utiliser les clés primaires pour cela?
Merci!
Ah, oui. Je vois que les valeurs d'id sont incorporées dans des entrées de forme HTML cachées, par exemple: 'name =" survey [questions_attributs] [1] [id] "type =" hidden "value =" 6 "'. Merci! – gederer