Я только что закончил RailsCasts 196 и 197, имея дело с вложенными моделями в формах. Изучая сгенерированные атрибуты name элементов формы, становится ясно, что числа в скобках представляют позиции массива, а не идентификаторы первичного ключа. Например, в случае:
name="survey[questions_attributes][0][answers_attributes][2][content]"
'0' обозначает первый Вопрос, появляющийся в форме, а не Вопрос с id = 0 (который в любом случае был бы недопустимым) Точно так же «2» обозначает третий ответ, а не ответ с id = 2. Что если один пользователь удалит Вопрос 0, а другой пользователь редактирует Вопрос 1. После удаления Вопрос 1 будет в позиции массива 0. Это вызовет проблему? Почему бы просто не использовать первичные ключи для этого?
Спасибо!