0

特定のコントローラーのアクションにのみ対応する ajax 呼び出しを処理しました。

私は通常、コントローラーにアクションを持ち(「好きな」アクションと呼びましょう)、ajax呼び出しを行うには、次のようにします:

ビュー、、<%= link_to 'like', like_path, :remote => true %>および部分的なjsファイルでは、次のようなものです$('.some_class').html("<%= j render 'some_partial' %>");

次に、目立たない ajax 呼び出しが行われます。

今回は、より単純な ajax 呼び出しが必要です。リンクをクリックしたときに、div を別の div に置き換えたいと考えています。しかし、リンクをクリックする前に関数が実行されます。

ビューで、

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

_become_teacher.html.erb ではsome message、become_teacher クラスの div に配置する必要があります。

これは非常に単純な JavaScript の問題のように思えますが、Rails アプリでこれを行う最も一般的な方法を知りたいと思っていました。なぜなら、すべての Rails ドキュメントは常にコントローラー内の特定のアクションに対応する ajax 呼び出しを行うからです。

4

1 に答える 1

1

最初に、理にかなった合法的な構文から始めます。

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

ただし、ここには Ajax はありません。

于 2013-02-14T05:32:37.160 に答える