/ / Wykonywanie prostego wywołania ajaxowego - javascript, ruby-on-rails, ajax

Wykonywanie prostego wywołania ajaxowego - javascript, ruby-on-rails, ajax

Zajmowałem się wywołaniami ajaxowymi, które odpowiadają tylko działaniu w określonym kontrolerze.

Zwykle miałbym działanie w kontrolerze (nazwijmy to "jak" akcję), a żeby wykonać wywołanie ajax, zrobię:

Z uwagi, <%= link_to "like", like_path, :remote => true %>iw częściowym js plik, coś w stylu $(".some_class").html("<%= j render "some_partial" %>");

Następnie zostanie wykonane jednoznaczne wywołanie ajaxowe.

Tym razem chcę prostsze wywołanie ajax: kiedy kliknę link, chcę zastąpić div innym divem. Ale funkcja jest uruchamiana, zanim kliknę link.

Z uwagi,

$(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()" %>

i w _become_teacher.html.erb, mam some message do umieszczenia w klasie div div.

Wydaje się to bardzo prostym problemem javascript, aleChciałem poznać najbardziej konwencjonalny sposób robienia tego w aplikacji Rails, ponieważ wszystkie dokumenty Railsowe zawsze wywołują wywołania ajaxowe, które odpowiadają określonej akcji w kontrolerze.

Odpowiedzi:

1 dla odpowiedzi № 1

Zacznę od sensownej, legalnej składni:

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()" %>

Jednak nie ma tutaj Ajaxu.