Čo je to správne miesto pre umiestnenie javascript / coffeescript v Rails pri práci s čiastočným načítaním cez AJAX?
Rád by som zavolal:
$(".selector").datapicker()
pri každom načítaní časti "_form".
Môžem to priamo uviesť do _form.html.erb
čiastočné a fungovalo by to ako očakávané, ale mám pocit, že je to nesprávny držiteľ pre js.
odpovede:
3 pre odpoveď č. 1"Správne miesto" by malo byť v zložke aktív, kde sa nachádzajú všetky skripty js.
Môžeš použiť:
$( document ).ajaxComplete(function( event,request, settings ) {
$(".selector").datapicker();
});
0 pre odpoveď č. 2
Ak používate dátový diaľkový ovládač UJS na vykonanie funkcie ajax, môžete sa pripojiť k udalosti ajax, ktorú poskytuje UJS. https://github.com/rails/jquery-ujs/wiki/ajax
použitie ajax:complete
opätovne pridať datapicker k prvku napr .:
$("#submitted_form").on("ajax:complete", function(event, xhr, settings) {
$("#date_field").datapicker();
});
... a potom by to šlo do zložky vášho majetku / javascript.
Pozrite tiež tento článok: http://www.alfajango.com/blog/rails-3-remote-links-and-forms/