如何使用 JavaScript 更改 erb 变量?

How to change an erb variable with JavaScript?

这就是我显示数据的方式。一旦用户单击其中一个 <td>,我想在底栏上显示来自 "empleado" 的其余数据。我正在考虑从 <td> 中获取 innerhtml 数据并使用实例中的 id 来更改用户选择的 id 的数字 12。 我希望这能澄清我之前的问题。

<!-- index.html.erb -->
    <!-- TABLE -->

    <div class="panel panel-default lista">
      <div class="panel-heading">
        <h3 class="panel-title">Lista de Empleados</h3>
        <!-- link add empleado -->
        <% if can? :new, @empleado  %>
          <%= link_to "Agregar Empleado", new_empleado_path %>
        <% end %>

      </div>
      <div class="panel-body">
       <table class="table table-bordered">
          <thead>
             <th>Id</th>
             <th>Nombre</th>
             <th>Apellido</th>
             <th>Cedula</th>
             <th>Cargo</th>
             <th>Ciudad</th>
          </thead>
          <tbody>
             <% @empleados.each do |empleado| %>
             <tr class="shows">
                <% if can? :edit, empleado  %>
                <td><%=link_to empleado.id, edit_empleado_path(empleado) %></td>
                <% else %>
                <td><%= empleado.nombre %></td>
                <% end %>
                <td><%= empleado.nombre %></td>
                <td><%= empleado.apellidos %></td>
                <td><%= empleado.cedula %></td>
                <td><%= empleado.cargo %></td>
                <td><%= empleado.ciudad %></td>
             </tr>   
             <% end %>         
          </tbody>
       </table>   


       </div>
    </div>

    <!-- BOTTOM BAR -->
    <!--  -->
    <nav class="navbar navbar-default navbar-fixed-bottom lista-bottom">
      <div class="container show-empleado">
        <% @empleados.each do |empleado| %>
             <% if empleado.id == 12 %>
                <p><%= empleado.otherData %></p>
             <% end %>
        <% end %>
      </div>
    </nav>

感谢您的帮助!

我想出了这个主意。如果你们让我知道这是否是最有效的方法,我将不胜感激。我对服务器进行了 AJAX 调用,然后将其附加到 DOM.

$('.shows').on("click", function(){
   var id = $(this).children("td")[0].innerText;
   showEmpleado(id);
});


function showEmpleado(id){
   console.log(id);
   $.ajax({
      type: "post",
      url: "/empleados/"+id,
      data: id,
      success: function(response, status){
        console.log("Status: ",status);
        displayEmpleado(response);
      }
   }); 
}

function displayEmpleado(empleado){
   console.log("empleado: ", empleado);
   $('.show-empleado').empty();
   $('.show-empleado').append(empleado.otherData);
}