2016-11-22 4 views
0

Ich versuche, in einem anderen Teil zu machen, wie folgt aus:fixieren die mit Ajax machen in Teil

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

aber ich bekomme diese Fehlermeldung:

ActionView :: Template :: Fehler (undefined lokale Variable oder Verfahren cobran' for #<#<Class:0xb47692ec>:0x83cb1500> Did you mean? cobran_url): 1: <tr id="cobran_<%= cobran.id %>"> 2: <td><%=cobran.id%> 3: 4: app/views/cobranza/_cobran.html.erb:1:in _app_views_cobranza__cobran_html_erb__36360536__1042659538' app/views/detallecob/create.js.erb: 12: in `_app_views_detallecob_create_js_erb__76211164__1041949938'

nicht die Variable "cobran", weil in der Ansicht erkennen tut das auf diese Weise machen:

<tbody id="container_cobranza"> 
     <%= render @cobranza %> 
</tbody> 

Und im Teil den Singular von „Cobranza“ setzt die „cobran“ ist wie folgt:

<tr id="cobran_<%= cobran.id %>"> 
    <td><%=cobran.id%> 


    <td><%=cobran.FechaReg%></td> 
    <td><%=cobran.FechaVence%></td> 
    <td><%=cobran.TipoDoc%></td> 

</tr> 

Wie kann ich dieses Problem lösen? Danke

Antwort

1

Sie können diese erb Variable nicht in Javascript verwenden. Übergeben Sie es über ein Datenattribut an das Javascript. Fügen Sie einem Ihrer Elemente eine ID hinzu: data-cobran="<%= @detalleco.cobran %>" Setzen Sie eine ID auf das Element und greifen Sie darauf mit der ID var cobran = $("#nameOfId").data('cobran')

zu. Danach können Sie es verwenden.