2016-12-03 12 views
0

AJAXを学ぼうとしているところです。私の現在のajax関数は何の効果もないようです。AJAXを使ってRailsモデルを更新する

if $('.clickySeat').length > 0 
    $('.clickySeat').on "click", -> 
     goobergonk = $(this).find(".presentTag") 
     aulaId = $(this).attr('id') 
     url = '/aulas/update/?ref='+aulaId 
     if goobergonk.text() == "Absent" 
      attendance = true 
      $(this).removeClass("absent") 
      goobergonk.text("Present") 
     else 
      attendance = false 
      $(this).addClass("absent") 
      goobergonk.text("Absent") 
     $.ajax 
      type: "POST", 
      url: url, 
      dataType: "json", 
      data: {present: attendance}, 
      success: alert(aulaId) 

私が望んでいたので、「Aulasは」(私は言葉「セミナー」「学生」テーブルと「セミナー」の表を結合モデルに使用されます。ここでは

は私のCoffeeScriptのファイルから関数です「クラス」という単語を避けるため)。これは出席データをブール値として保存する場所です。この関数の私の目標は、ユーザーが学生デスク(クラス "clickySeat")を表すdivをクリックすると、テーブルが更新され、生徒が存在するかどうかが追跡されます。 ajax呼び出しが正しい行を見つけるのを助けるために、私は各divに対応するaulaのidを割り当てようとしました。 「成功」警告メッセージは、関数が正しいaulaのIDを取得していることを示します。しかし、現在の列の値をチェックするためにレールコンソールを使用すると、変更されていません。

このコードには、「?ref =」がURLのID部分として含まれています。これは他のサイトで見た例のほとんどに従っているためです。私もそのビットなしでバージョンを試してみました。

ここで重要なAjax構文が欠落していると確信しています。

ありがとうございました。

答えて

0

これで動作しているようです。私のデータの構文を修正する必要がありました:

 $.ajax 
      type: "PUT", 
      url: url, 
      dataType: "json" 
      data: 
       aula: 
        id: aulaId 
        present: attendance 
関連する問題