Rails: частично кэширует вложенную форму
У меня есть сложная вложенная форма, загрузка которой занимает несколько секунд, когда она не кэшируется. Скрытые поля id выглядят так:
<input type="hidden" value="1" name="user[properties_attributes][0][id]">
<input type="hidden" value="2" name="user[properties_attributes][1][id]">
<input type="hidden" value="3" name="user[properties_attributes][2][id]">
<input type="hidden" value="4" name="user[properties_attributes][3][id]">
Теперь я хочу кэшировать части формы и изменять только те части, которые обновляются. Проблема в том, что fields_for
не распознает кэшированные части и запускает счетчик с 0:
<cached>
<input type="hidden" value="1" name="user[properties_attributes][0][id]">
<input type="hidden" value="2" name="user[properties_attributes][1][id]">
</cached>
<updated>
<input type="hidden" value="3" name="user[properties_attributes][0][id]">
</updated>
<cached>
<input type="hidden" value="4" name="user[properties_attributes][3][id]">
</cached>
Таким образом, второе поле [0][id] имеет приоритет над первым.
Есть ли способ использовать случайные строки, а не последовательные целые числа, как это?
<input type="hidden" value="1" name="user[properties_attributes][ab2ca3ga][id]">
<input type="hidden" value="2" name="user[properties_attributes][d7e555wf][id]">
<input type="hidden" value="3" name="user[properties_attributes][g18fhhd1][id]">
<input type="hidden" value="4" name="user[properties_attributes][jl8h18dh][id]">
Тогда кэшированные поля могут оставаться без изменений. Спасибо за любые идеи, как решить эту проблему!
1 ответ
Решение