1

J'ai un formulaire imbriqué qui prend quelques secondes à charger lorsqu'il n'est pas mis en cache. Les champs d'ID masqués ressemblent à ceci:Rails: Mise en cache partielle d'un formulaire imbriqué

<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]"> 

Maintenant, je veux mettre en cache des parties du formulaire et ne modifier que les parties mises à jour. Le problème est que fields_for ne reconnaît pas les parties mises en cache et démarre le compteur à 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> 

Ainsi, le deuxième [0] [id] -field remplace la première.

Existe-t-il un moyen d'utiliser des chaînes aléatoires et non des entiers séquentiels comme celui-ci?

<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]"> 

Ensuite, les champs mis en cache peuvent rester les mêmes sans aucune interférence. Merci d'avoir trouvé des idées pour résoudre ce problème!

Répondre

0

Je l'ai finalement résolu avec JavaScript.