轨道:部分缓存嵌套表单



我有一个复杂的嵌套表单,当它没有缓存时需要几秒钟才能加载。隐藏的 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]">

然后,缓存的字段可以保持不变,而不会受到任何干扰。感谢您提出如何解决此问题的任何想法!

我最终用JavaScript解决了它。

相关内容

  • 没有找到相关文章

最新更新