ruby-on-rails – 使用多个`fields_for`在嵌套表单上建立索引

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 使用多个`fields_for`在嵌套表单上建立索引前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
鉴于模型Album has_many Song和后者具有本地化字段,例如:
Song#name_en
Song#description_en
Song#name_fr
Song#description_fr
[...]

由于前端设计,我不能在一个地方为所有歌曲属性做一个f.simple_fields_for:歌曲,但需要拆分它:

= f.simple_fields_for :songs do
  = render partial: 'song_en_fields',locals: { f: f,locale: :en }
[...]
= f.simple_fields_for :songs do
  = render partial: 'song_fields',locale: :fr }
[...]

结果字段使用[0],[1]等索引,但是,索引不会在每个单独的simple_fields_for上以0重新启动,而只是保持计数.

我检查了源代码并在Rails的fields_for中找到了一个索引选项,但这只是添加了一个额外的索引数组.

当同一个集合多次调用simple_fields_for(或fields_for)时,有没有办法“重置”索引的自动增量?

解决方法

您可以通过将fields_for放在循环中并将child_index:your_index传递给它来自行设置索引,而不是尝试重置自动增量.

猜你在找的Ruby相关文章