/ / Rails chiamate javascript dopo il rendering parziale - javascript, ruby-on-rails, ruby-on-rails-4

Rails chiamate javascript dopo il rendering parziale - javascript, ruby-on-rails, ruby-on-rails-4

Qual è il posto giusto per inserire javascript / coffeescript in Rails quando si lavora con il caricamento parziale tramite AJAX?

Vorrei chiamare:

$(".selector").datapicker()

ogni volta che viene caricato "_form" parziale.

Posso metterlo direttamente nel _form.html.erb parziale e funzionerebbe come previsto, ma mi sento come se fosse un titolare sbagliato per js.

risposte:

3 per risposta № 1

Il "posto giusto" dovrebbe essere all'interno della cartella delle risorse in cui risiedono tutti gli script js.

Puoi usare:

$( document ).ajaxComplete(function( event,request, settings ) {
$(".selector").datapicker();
});

0 per risposta № 2

Se stai usando UJS data-remote per fare l'ajax, puoi collegarti all'evento ajax creato da UJS. Vedi qui: https://github.com/rails/jquery-ujs/wiki/ajax

uso ajax:complete per aggiungere nuovamente il datapicker all'elemento es:

$("#submitted_form").on("ajax:complete", function(event, xhr, settings) {
$("#date_field").datapicker();
});

... e poi questo andrebbe nella cartella assets / javascript.

Guarda anche questo articolo: http://www.alfajango.com/blog/rails-3-remote-links-and-forms/