Sto sviluppando un'applicazione Ruby on Rails 4 che utilizza la gemma Turbolinks. Ho notato che quando si fa clic su un link il layout è ancora reso lato server, ma il codice JavaScript di Turbolinks non fa altro che estrarre il corpo da questo contenuto renderizzato. La mia domanda è dal lato del controller è possibile determinare se una richiesta è fatta tramite Turbolinks o meno. Essenzialmente nel caso in cui venga fatta una richiesta tramite Turbolinks, voglio impostare il layout su false in modo da non eseguire codice non necessario. Nel mio ApplicationController ho già il seguente codice:Controller Rails Verifica se richiesta Turbolinks
# Don't use layout when AJAX request
layout proc { |controller| controller.request.xhr? ? false: "application" }
Questo codice impedisce una richiesta AJAX dal rendere l'intestazione se faccio una richiesta AJAX tramite jQuery, ma non sembra di fare nulla quando si tratta di Turbolinks .
Il rendering senza un layout non interrompe il processo Turbolinks? Turbolinks (citazione): 'mantieni viva l'istanza della pagina corrente e sostituisce solo il corpo e il titolo nella testa'. Quindi sembra che Turbolinks si basi sul layout di pagina completo da inviare. – zwippie