在rails中渲染集合

时间:2016-11-22 04:15:54

标签: javascript ruby-on-rails

我试着通过js在ajax中传递一个集合但是不工作,不要渲染集合,这是从一个脚手架到另一个,我正在尝试这样:

$("#cobran_<%= @detalleco.IdCobranza %>").fadeOut(500, function(){
  $(this).remove();
  $(".child").remove();
  $("#container_cobranza").prepend('<%= j render :partial => "/cobranza/cobran", :collection => @detalleco.cobran, :as => :cobran  %>');

});

只删除id但不渲染。它应该在这个视图中呈现:

<!--<p id="notice"><%= notice %></p>-->
<style>
.container {
}

</style>
<div class="container">
  <h1>Cuentas por cobrar</h1>

  <br>
  <br>

  <div class="well center-block">
    <h2>Por favor selecciona la ruta </h2>


  </div>



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

    <tr><!--active es para sombrear la fila-->
      <th>Id</th>
      <th>Ruta</th>
      <th>Vendedor</th>
      <th>Cliente</th>
      <th>Nombre</th>
      <th>Razón Social</th>
      <th>Documento</th>
      <th>Saldo Inicial</th>
      <th>Abono</th>
      <th>Saldo Actual</th>
      <th>Fecha Reg</th>
      <th>Fecha Vence</th>
      <th>TipoDoc</th>
      <th>Acción</th>
      <th></th>

    </tr>
  </thead>
    <tbody id="container_cobranza">
      <%= render @cobranza %><!--carga todos los empresas-->
</tbody>


</table>
</div >

2 个答案:

答案 0 :(得分:0)

试试这个

yourlist = ['aaaaa955554e']
new_list = [','.join([x[i:i+6] for i in range(0, len(x), 6)]) for x in yourlist]

而不是

$("#container_cobranza").html("<%=escape_javascript(render(:partial => 'cobranza/cobran', cobran: @detalleco.cobran))%>");

希望这会对你有帮助..

答案 1 :(得分:0)

尝试过:

$("#container_cobranza").prepend('<%= j(render(:partial => "/cobranza/cobran", :collection => @detalleco.cobran, :as => :cobran))  %>');
$("#cobran_<%= @detalleco.IdCobranza %>").fadeOut(500, function(){
  $(this).remove();
  $(".child").remove();
});

(我更喜欢添加括号以避免任何错误)