具有多个输入的Rails4-autocomplete表单 – 覆盖HTML data-id-element

我正在尝试构建一个表格,从数据库建议药物名称,但会在我的数据库中发送所选药物的ID以创建关系。

我使用了自动完成gem,效果很好,我也使用它们的提示从元素名称中获取ID,这也很好,但只是在表格上有一个INPUT元素。 在我的情况下,我需要5个输入,因为我的代码 – 它会覆盖名为my_medicine_id元素,这会导致只保存一个 – 最后一个元素。 你们能想到动态改变字段名称的任何解决方案吗?

我的PrescriptionsController

 [...] def new @prescription =Prescription.new 5.times { @prescription.relations.build } end [...] 

我的看法

 [...] 
    "my_medicine_id" %> '#my_medicine_id' %>
[...]

生成最终的html:

               

    因此,每次覆盖元素data-id-element="#my_medicine_id"时都可以看到。

    OP解决方案。

    找到的解决方案 – 在fields_for移动到部分和使用的f.options[:child_index]

    固定视图文件:

     [...] <%= f.fields_for :relations do |builder| %> <%= render 'child_form', :f => builder %> <% end %> [...] 

    和部分_child_form.html.erb

     <% @it=f.options[:child_index] %> <%= f.hidden_field :medicine_id, :id => "my_medicine_id#{@it}" %> <%= f.autocomplete_field :medicine_name, autocomplete_medicine_name_relations_path, :id_element => "#my_medicine_id#{@it}" %>