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 № 1Il "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/