使用多个`fields_for`对嵌套表单建立索引

svo*_*oop 9 ruby ruby-on-rails fields-for simple-form

给定模型Albumhas_many Song,后者使用本地化字段,例如:

Song#name_en
Song#description_en
Song#name_fr
Song#description_fr
[...]
Run Code Online (Sandbox Code Playgroud)

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

= 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', locals: { f: f, locale: :fr }
[...]
Run Code Online (Sandbox Code Playgroud)

得到的字段建立索引用[0],[1]等他们应该,但是,指数不为0的每个indvidivual重新启动simple_fields_for,但只是保持计数.

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

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

yoo*_*nes 7

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