Rails4-автозаполнение формы с несколькими входами - HTML-элемент data-id перезаписывается

Я пытаюсь создать форму, которая будет предлагать название лекарства из базы данных, но отправит идентификатор выбранного лекарства для создания связи в моей базе данных.

Я использовал autocomplete gem, который прекрасно работает, я также использовал их подсказку для получения идентификатора из имени элемента, и это тоже хорошо работает, но только до того момента, когда в форме есть элемент ONE INPUT. В моем случае мне нужно 5 входов и из-за моего кода - он сохраняет перезаписываемый элемент под названиемmy_medicine_id что приводит к тому, что только один - последний - элемент сохраняется. Ребята, вы можете придумать какое-нибудь решение для динамического изменения имени поля?

Мои РецептыКонтроллер

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

Мой взгляд

[...]
        <ol>
            <%= f.fields_for :relations do |builder| %>
                <%= builder.hidden_field :medicine_id, :id => "my_medicine_id" %>
                <%= builder.autocomplete_field :medicine_name, autocomplete_medicine_name_relations_path, :id_element => '#my_medicine_id' %>
            <% end %>
        </ol>
[...]

генерирует окончательный HTML:

<input id="my_medicine_id" type="hidden" rows="5" name="prescription[relations_attributes][0][medicine_id]"></input>
<input id="prescription_relations_attributes_0_medicine_name" type="text" rows="5" name="prescription[relations_attributes][0][medicine_name]" data-id-element="#my_medicine_id" data-autocomplete="/relations/autocomplete_medicine_name"></input>
<input id="my_medicine_id" type="hidden" rows="5" name="prescription[relations_attributes][1][medicine_id]"></input>
<input id="prescription_relations_attributes_1_medicine_name" type="text" rows="5" name="prescription[relations_attributes][1][medicine_name]" data-id-element="#my_medicine_id" data-autocomplete="/relations/autocomplete_medicine_name"></input>
<input id="my_medicine_id" type="hidden" rows="5" name="prescription[relations_attributes][2][medicine_id]"></input>
<input id="prescription_relations_attributes_2_medicine_name" type="text" rows="5" name="prescription[relations_attributes][2][medicine_name]" data-id-element="#my_medicine_id" data-autocomplete="/relations/autocomplete_medicine_name"></input>
<input id="my_medicine_id" type="hidden" rows="5" name="prescription[relations_attributes][3][medicine_id]"></input>
<input id="prescription_relations_attributes_3_medicine_name" type="text" rows="5" name="prescription[relations_attributes][3][medicine_name]" data-id-element="#my_medicine_id" data-autocomplete="/relations/autocomplete_medicine_name"></input>
<input id="my_medicine_id" type="hidden" rows="5" name="prescription[relations_attributes][4][medicine_id]"></input>
<input id="prescription_relations_attributes_4_medicine_name" type="text" rows="5" name="prescription[relations_attributes][4][medicine_name]" data-id-element="#my_medicine_id" data-autocomplete="/relations/autocomplete_medicine_name"></input>

Так как вы можете видеть каждый раз, когда он перезаписывает элементdata-id-element="#my_medicine_id".

Ответы на вопрос(1)

Ваш ответ на вопрос