/ / Rails javascript hovory po čiastočnom renderovaní - javascript, ruby-on-rail, ruby-on-rail-4

Rails javascript volá po čiastočnom vykreslení - javascript, ruby-on-rail, ruby-on-rail-4

Č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/