在我的Rail 5.2应用程序中,由于nested_form_fields gem,文档的某些字段受益于翻译字段 . Gemfile包含 gem 'nested_form_fields' .

每个翻译字段使用一个翻译记录 . 至少定义了两个容器:#name_translation和#description_translation来保存嵌套字段 . 每个翻译都保存在translations.description字段中(错误的想象),并由document_id,field_name和language标识 . 这是代码:

<div class="row"> <!-- translated row -->
    <div class="col-md-1">
      <%= image_tag("next32.png", :id => "unfold") %> # toggles the -div class="translation"- visibility
    </div>
    <div class="col-md-1 text-right"> <%= t('Name')%>:
    </div>
    <div class="col-md-10 field"><%= f.text_field :name, :class => "col-md-8" %>
    </div>
  </div>
  <!-- Translations management -->
  <div class="translation">
    <div class="row">
      <div class="col-md-10 col-md-offset-2" id="name_translation">
        <%= f.nested_fields_for :translations, this_object.translations.where("field_name='name'") do |locution| %>
        <div class="row"> #translated row
          <div class="col-md-1">
            <%= locution.collection_select :language, @other_languages, :property, :name  %>
          </div>
          <div class="col-md-8">
            <%= locution.text_field :description, :class => "col-md-10" %>
          </div>
          <div class="col-md-1">
            <%= locution.remove_nested_fields_link {image_tag("remove.png")} %>
          </div>
          <div class="col-md-1">
            <%= locution.hidden_field :field_name, :value => 'name' %>
          </div>
        </div>
        <% end %>
      </div>
    </div>
    <div class="row">
      <div class="col-md-10 col-md-offset-2">
        <%= f.add_nested_fields_link :translations, image_tag("add.png"), data: {insert_into: "name_translation"} %> <%= t('New') %>
      </div>
    </div>
    
</div> <!-- End of translations --> <div class="row"> <!-- no need for translation in this row --> <div class="col-md-2 text-right"> <%= t('Code')%>: </div> <div class="col-md-2 field"><%= f.text_field :code %> </div> <div class="col-md-2 text-right"> <%= t('Status')%>: </div> <div class="col-md-2 field"><%= f.collection_select :status_id, @statuses_list, :id, :name %> </div> </div> <div class="row"> <!-- translated row --> <div class="col-md-2 text-right"> <%= t('Description')%>: </div> <div class="col-md-10 field"><%= f.text_area :description, :rows => 5, :class => "col-md-8" %> </div> </div> <!-- Translations management --> <div class="translation"> <div class="row"> <div class="col-md-10 col-md-offset-2" id="description_translation"> <%= f.nested_fields_for :translations, this_object.translations.where("field_name='description'") do |locution| %> <div class="row"> <div class="col-md-1"> <%= locution.collection_select :language, @other_languages, :property, :name %> </div> <div class="col-md-8"> <%= locution.text_area :description, :rows => 5, :class => "col-md-10" %> </div> <div class="col-md-1"> <%= locution.remove_nested_fields_link {image_tag("remove.png")} %> </div> <div > <%= locution.hidden_field :field_name, :value => 'description' %> </div> </div> <% end %> </div> </div> <div class="row"> <div class="col-md-10 col-md-offset-2"> <%= f.add_nested_fields_link :translations, image_tag("add.png"), data: {insert_into: "description_translation"} %> <%= t('New') %> </div> </div>
</div> <!-- End of translations -->

当点击add_nested_field_link时,由于 data: {insert_into: "description_translation"} 块,字段集被创建到正确的容器中 . 好 .

但是谈到第二个add_nested_field_link,它应该插入第二个字段集,指的是我文档的“描述”的翻译 . 使用当前配置,它实际上复制了与文档的“名称”字段对应的第一个字段集 .

如何在add_nested_field_link中指定要复制哪个字段集?谢谢你的帮助!