Rails получает доступ к fields_for hidden_field id

У меня есть вложенная форма с родительским объектом (full_application) и коллекцией дочерних объектов (fullappplication_districts) через ассоциацию has_many. Я пытаюсь разрешить удаление отдельных дочерних объектов в форме (через javascript), но для этого мне нужно иметь возможность получить идентификатор каждого дочернего объекта в представлении для передачи контроллеру. fields_for создает скрытое поле ввода для идентификатора, но я не могу понять, как получить от него идентификатор. В приведенном ниже примере запись является 13-й в списке отображаемых дочерних объектов.

<input type="hidden" value="538" name="full_application[fullapplication_districts_attributes][12][id]" id="full_application_fullapplication_districts_attributes_12_id">

Вот настройка формы в представлении:

<%= form_for(@full_application, url: full_applications_edit_path, method: :put) do |f| %>
  <%= f.fields_for :fullapplication_districts do |fad| %>
    <%= fad.collection_select :district_id, District.all, :id, :name, {include_blank: true}, {class: 'form-control'} %>
    <%= fad.number_field :percent_one, class: 'form-control', step: :any %>
    <%= fad.number_field :percent_two, class: 'form-control', step: :any %>
    <%= fad.number_field :percent_three, class: 'form-control', step: :any %>
    <%= link_to full_applications_districts_path(???), method: :delete, remote: true, data: { confirm: "Are you sure you want to delete this record?" } do %>
      <i class="fa fa-trash"></i>
    <% end %>
  <% end %>
<% end %>

person CChandler81    schedule 01.04.2017    source источник


Ответы (1)


Вы можете использовать: fad.object или fad.object.id. Это вернет экземпляр fullappplication_district.

 <%= link_to full_applications_districts_path(fad.object), method: :delete, remote: true, data: { confirm: "Are you sure you want to delete this record?" } do %>
    <i class="fa fa-trash"></i>
 <% end %>
person fongfan999    schedule 02.04.2017