7

Al momento ho un menu a tendina che visualizza le notificheRails: Compilazione discesa bootstrap con ajax

<li class="notifications dropdown"> 
    <a class="dropdown-toggle" id="dLabel" role="button" data-remote="true" data-toggle="dropdown" data-target="#" href="/notifications"><i class="icon-user"></i> Notifications</a> 
    <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel"> 
    </ul> 
</li> 

La discesa ul è vuota, ma al clic del collegamento voglio popolare il menù con i dati binari.

Al momento ho questo notifications.js.erb

$(".nav li.notifications .dropdown-menu").remove(); 
$(".nav li.notifications").append("<%= escape_javascript(render('users/notifications', notifications: @notifications)) %>"); 

Normalmente vorrei impostare il link a discesa per distanza ma dal momento che sto usando discesa di un bootstrap nessuna richiesta viene inviato a notifications.js.erb. Come posso chiamare manualmente il codice lì?

risposta

5

vorrei aggiungere codice JavaScript per effettuare la chiamata:

$(document).ready(function() { 
    $('#dLabel').click(function() { 
     // Only call notifications when opening the dropdown 
     if(!$(this).hasClass('open')) { 
      $.ajax({ 
       type: "GET", 
       url: "/notifications", 
       async: false, 
       dataType: "script" 
      }); 
     } 
    }); 
}); 

Si potrebbe anche rendere asincrona e mettere l'icona di caricamento nel menù temporaneamente ...

Problemi correlati