Jquery Rails数据id没有获取正确的id

Jquery Rails数据id没有获取正确的id,jquery,ruby-on-rails,ajax,Jquery,Ruby On Rails,Ajax,我正在我的项目中,我试图通过一个模式删除一个项目 基本上,我有以下部分列表项代码: <tr> <td class="middle"> <div class="media"> <div class="media-left"> <%= link_to contact_path(contact), ":data-target" => "#show-contact-modal", ":data-toggl

我正在我的项目中,我试图通过一个模式删除一个项目

基本上,我有以下部分列表项代码:

<tr>
  <td class="middle">
    <div class="media">
      <div class="media-left">
        <%= link_to contact_path(contact), ":data-target" => "#show-contact-modal", ":data-toggle" => "modal", remote: true do %>
            <%= image_tag contact.contact_avatar.attached? ? contact.contact_avatar : "100x100.png", class: "media-object img-thumbnail img-rounded mr-3" %>
        <% end %>
      </div>
      <div class="media-body mt-2">
        <%= link_to contact_path(contact), ":data-target" => "#show-contact-modal", ":data-toggle" => "modal", remote: true do %>
             <h4 class="media-heading"><%= contact.name %></h4>
        <% end %>
        <address>
          <strong><i class="fa fa-map-marker"></i> <%= contact.city %>, <%= contact.state %>, <%= contact.country %>, <%= contact.zip %> </strong><br>
          <i class="fa fa-envelope"></i> <%= contact.email %> | <i class="fa fa-mobile"></i> <%= contact.mobile %> | <i class="fa fa-phone"></i> <%= contact.phone %>
        </address>
      </div>
    </div>
  </td>
  <td class="middle" width="100">
    <div class="mt-5">
    <%= link_to edit_contact_path(contact), class: "btn btn-outline-secondary btn-circle btn-xs", ":data-target" => "#new-contact-modal", ":data-toggle" => "modal", remote: true do %>
          <i class="fa fa-edit"></i>
      <% end %>

      <div class="btn btn-outline-secondary btn-circle btn-xs delete-contact" data-id="<%= contact.id %>">
        <i class="fa fa-times"></i>
      </div>
    </div>
  </td>
</tr><tr>
  <td class="middle">
    <div class="media">
      <div class="media-left">
        <%= link_to contact_path(contact), ":data-target" => "#show-contact-modal", ":data-toggle" => "modal", remote: true do %>
            <%= image_tag contact.contact_avatar.attached? ? contact.contact_avatar : "100x100.png", class: "media-object img-thumbnail img-rounded mr-3" %>
        <% end %>
      </div>
      <div class="media-body mt-2">
        <%= link_to contact_path(contact), ":data-target" => "#show-contact-modal", ":data-toggle" => "modal", remote: true do %>
             <h4 class="media-heading"><%= contact.name %></h4>
        <% end %>
        <address>
          <strong><i class="fa fa-map-marker"></i> <%= contact.city %>, <%= contact.state %>, <%= contact.country %>, <%= contact.zip %> </strong><br>
          <i class="fa fa-envelope"></i> <%= contact.email %> | <i class="fa fa-mobile"></i> <%= contact.mobile %> | <i class="fa fa-phone"></i> <%= contact.phone %>
        </address>
      </div>
    </div>
  </td>
  <td class="middle" width="100">
    <div class="mt-5">
    <%= link_to edit_contact_path(contact), class: "btn btn-outline-secondary btn-circle btn-xs", ":data-target" => "#new-contact-modal", ":data-toggle" => "modal", remote: true do %>
          <i class="fa fa-edit"></i>
      <% end %>

      <div class="btn btn-outline-secondary btn-circle btn-xs delete-contact" data-id="<%= contact.id %>">
        <i class="fa fa-times"></i>
      </div>
    </div>
  </td>
</tr>
然而,在尝试这一点时。它没有选择正确的contact.id,而是在要删除的id上添加1,有时添加2或3,甚至更多


您是否看到我的代码中有错误,为什么它没有通过数据id选择正确的id?

应该是| contact_id=$this.data'id'。很抱歉在手机上发表评论。清理自己。
<div class="btn btn-outline-secondary btn-circle btn-xs delete-contact" data-id="<%= contact.id %>">
        <i class="fa fa-times"></i>
      </div>
  //Open delete contact modal
  $(document).on('click', '.delete-contact', function(){
    $('#confirm-modal').modal('show');
    contact_id = $('.delete-contact').data('id');
  });

  //Send AJAX request to delete specific record when user confirms the action
  $(document).on('click', '.confirm-delete', function(){
    $.ajax({
      url: '/dashboard/contacts/' + contact_id,
      method: 'delete',
      data: {
        contact: contact_id
      },
      success: function (category) {
      },
      error: function (xhr) {
        let errors = xhr.responseJSON;
      }
    });
  });
  //init empty var 1st
   let contact_id;

  //Open delete contact modal
  $(document).on('click', '.delete-contact', function(){
    $('#confirm-modal').modal('show');
    contact_id = $(this).data('id');
  });