在数据表中渲染记录

时间:2016-11-26 19:49:49

标签: javascript ruby ruby-on-rails-4 datatables

我将在js.erb中创建和编辑的数据渲染到数据表,问题是当使用分页时,这些数据会消失。这是我的索引:

<table class="container">
  <thead>
    <tr>
      <th>font-family</th>
      <th>A</th>
      <th>Left</th>
      <th>Right</th>
    </tr>
  </thead>
  <tbody>
    <tr class="row-sans">
      <th>sans-serif</th>
      <td>A</td>
      <td>&#8592;</td>
      <td>&#8594;</td>
    </tr>
    <tr class="row-source-code-pro">
      <th>Source Code Pro</th>
      <td>A</td>
      <td>&#8592;</td>
      <td>&#8594;</td>
    </tr>
  </tbody>
</table>

我的部分_activo.html.erb

 <table id="superior" class="display"><!--el id activos es de datatables referenciado en activos.coffe y display class es una clase de datatables-->
  <thead>

    <tr><!--active es para sombrear la fila-->
      <th>Id</th>
      <th>Descripción</th>
      <th>Modelo</th>
      <th>FechaAlta</th>
      <th>Serie</th>
      <th>CB</th>
      <th>Imagen</th>
      <th>Status</th>
      <th>Acciones</th>
      <th></th>

    </tr>
  </thead>
    <tbody id="container_activos">
      <%= render @activos %><!--carga todos los activos-->
</tbody>


</table>

我的create.js.erb:

<tr id="activo_<%= activo.id %>">
    <td><%= activo.IdActivos %>

</td>
    <td><%= activo.Descripcion %></td>
    <td><%= activo.Modelo%> </td>
    <td><%= activo.Fecha%>></td>
    <td><%= activo.Serie %></td>
    <td><%= activo.CB %></td>
    <td id="producto-imagen" >
        <%= image_tag activo.cover.url(:minithumb) %>
    </td>
    <td><%= activo.Status %>
    </td>
    <td>

      <button type="button" class="btn btn-warning btn-xs" data-toggle="modal" data-target="#myupdateactivo_<%= activo.id %>">
        Editar
      </button>

    </td>

<td>
</td>
</tr>

我的update.js.erb:

$("#mynewactivo").modal('hide');

  $("#container_activos").prepend('<%= j render @activo %>'); //Prepend before append
  $("#activo_<%= @activo.id %>").hide().fadeIn(1000);


$("#notice").html("<%= escape_javascript(render :partial => 'partials/flash' , :locals => { :flash => flash }).html_safe %>");

setTimeout(function(){
  $('#notice').fadeIn("slow", function() {
    $(this).create();
  })
}, 1500);

0 个答案:

没有答案