Jquery 如何在rails生成的表中切换链接的可见性?

Jquery 如何在rails生成的表中切换链接的可见性?,jquery,ruby-on-rails,Jquery,Ruby On Rails,我想在我的rails应用程序中切换两个不同链接send_email和email_sent in a table的可见性 <table > <% @applications.each do |application| %> <tr> <td> <a href="mailto:grant@example.com" class="send_email">Invite for an interview</a> &

我想在我的rails应用程序中切换两个不同链接send_email和email_sent in a table的可见性

<table >
<% @applications.each do |application| %>
 <tr>
  <td>
   <a href="mailto:grant@example.com" class="send_email">Invite for an interview</a>

   <a href="" class="email_sent">Undo</a>
  </td>
 </tr>
<% end %>
</table>
这是我的javascript

<%= javascript_tag do %>
 $(function(){
  $('.send_email > a').click(function(){
   $('.send_email').hide();
   $('.email_sent').show();
  });
  $('.email_sent > a').click(function(){
   $('.send_email').show();
   $('.email_sent').hide();
  });
 });
<% end %>
<% @applications.each do |application| %>    
  <%= javascript_tag do %>
    $("#send_email_#{application.id} a").click(function(){
      $("#send_email_#{application.id}").hide();
      $("#email_sent_#{application.id}").show();
    });
    $('#email_sent_#{application.id} a').click(function(){
      $('#send_email_#{application.id}').show();
      $('#email_sent_#{application.id}').hide();
    });
<% end %>
问题是,此代码切换所有已发送的电子邮件和已发送的电子邮件链接


如何调整代码以仅切换特定行中链接的可见性?

当您使用每行中常见的类时,它不起作用。尝试给它一个唯一的id,并在javascript中使用它,例如:-

我假设应用程序保存数据库记录数组

然后在javascript中

<%= javascript_tag do %>
 $(function(){
  $('.send_email > a').click(function(){
   $('.send_email').hide();
   $('.email_sent').show();
  });
  $('.email_sent > a').click(function(){
   $('.send_email').show();
   $('.email_sent').hide();
  });
 });
<% end %>
<% @applications.each do |application| %>    
  <%= javascript_tag do %>
    $("#send_email_#{application.id} a").click(function(){
      $("#send_email_#{application.id}").hide();
      $("#email_sent_#{application.id}").show();
    });
    $('#email_sent_#{application.id} a').click(function(){
      $('#send_email_#{application.id}').show();
      $('#email_sent_#{application.id}').hide();
    });
<% end %>