2016-12-03 63 views
0

我几乎刚刚开始学习AJAX。我目前的ajax函数似乎没有任何效果。使用AJAX更新Rails模型

这里是我的CoffeeScript文件中的函数:

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) 

“奥拉”是加入了“学生”表和“研讨会”表(我用了“研讨会”,因为我想一个模型避免使用“Class”一词)。这是我将考勤数据存储为布尔值的地方。我的这个功能的目标是,当用户点击一个代表学生桌的div(class“clickySeat”)时,表会被更新以追踪学生是否在场。为了帮助ajax调用找到正确的行,我试图给每个div分配它对应的aula的id。 “成功”警报消息表明该函数正在获取正确的aula的id。但是,当我使用rails控制台检查“当前”列中的值时,它没有改变。

此代码包含“?ref =”作为url的id部分,因为它遵循我在其他网站中看到的大多数示例。我也尝试过一个没有这个位的版本。

我敢肯定,我在这里错过了一个至关重要的ajax语法片断。

非常感谢您的任何见解。

回答

0

它似乎现在工作。我需要修复我的数据的语法:

 $.ajax 
      type: "PUT", 
      url: url, 
      dataType: "json" 
      data: 
       aula: 
        id: aulaId 
        present: attendance