/ / Effettuare una semplice chiamata ajax - javascript, ruby-on-rails, ajax

Fare una semplice chiamata ajax - javascript, ruby-on-rails, ajax

Ho parlato di chiamate Ajax che corrispondono solo a un'azione in un certo controller.

Di solito avrei un'azione in controller (chiamiamolo "like" action), e per fare una chiamata ajax, io farei:

In vista, <%= link_to "like", like_path, :remote => true %>e in parte js file, qualcosa di simile $(".some_class").html("<%= j render "some_partial" %>");

Quindi, verrà effettuata una chiamata ajax non ostruttiva.

Questa volta, voglio una semplice chiamata ajax: quando clicco su un link, voglio sostituire un div con un altro div. Ma la funzione viene eseguita prima di fare clic sul collegamento.

In vista,

$(function teacher_function(){
$(.become_teacher).html("<%= j render "become_teacher" %>");
});

<div class="become_teacher">
change this div
</div>

<%= link_to_function "ajax call", "teacher_function()" %>

e in _become_teacher.html.erb, ho some message da inserire nel div classe dive_teacher.

Questo sembra un problema javascript molto semplice, maVolevo sapere il modo più convenzionale per farlo in un'app Rails perché tutti i documenti Rails eseguono sempre chiamate Ajax corrispondenti a una determinata azione in un controller.

risposte:

1 per risposta № 1

Comincerei con la sintassi legale e sensoriale prima:

function teacher_function() {
$(".become_teacher").html("<%= j render "become_teacher" %>");
}

<div class="become_teacher">
change this div
</div>

<%= link_to_function "ajax call", "teacher_function()" %>

Non c'è Ajax qui, però.