索引嵌套形式多在`fields_for`

问题描述:

鉴于模型Album的has_many Song与局部领域如后者:索引嵌套形式多在`fields_for`

Song#name_en 
Song#description_en 
Song#name_fr 
Song#description_fr 
[...] 

由于前端的设计,我不能做一个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 } 
[...] 

产生的字段建立索引与[0][1]等,因为他们应该,但是,指数不为0的每个INDV重启idivual simple_fields_for,但只是继续计数。

我检查了源代码并在Rails的fields_for中发现了index选项,但这只是增加了一个额外的索引数组。

simple_fields_for(或fields_for)被多次调用相同的集合时,是否有办法“重置”索引的自动增量?

您可以通过将fields_for放入循环并将child_index: your_index传递给它来代替尝试重置自动增量,您可以自己设置索引。

+0

是的,我只是来这里张贴相同的解决方案。 'child_index'似乎是完全没有证件,至少它没有提到任何地方[这里](http://api.rubyonrails.org/classes/ActionView/Helpers/FormBuilder.html#method-i-fields_for)。 – Thilo

我有一个建议尝试使用globalize为您的项目,管理您的Song模型本地化的数据。请查看这个screencast就可以了。

我希望它有帮助。