Ajax中适当的JSON格式

时间:2015-05-31 23:36:11

标签: javascript ruby json

我有一个简单的友谊模型,允许用户互相连接:

class Friendship < ActiveRecord::Base
 belongs_to :sender, class_name: "User"
 belongs_to :receiver, class_name: "User"
end

在用户模型中,我定义了此方法:

 def self.create_friendship(receiver)
  Friendship.create(sender_id: current_user.id, receiver_id: receiver)
 end

我的用户索引视图有这个简单的Javascript:

<script>
 $("#searchbutton").click(function(){
  var tod = $("#timeofday").val()
  console.log(tod);
  var dow = $("#dayofweek").val()
  console.log(dow);

  queries = {'time': tod , 'day': dow }
  $("#myselect").html("");
  $.ajax({
    url:'/users.json',
    type:'GET',
    data: {search: queries},
    dataType: 'json',
    success: function( json ) {
    //console.debug(json)
    $.each(json.users, function(index, value) {
      $('#myselect').append($('<option>').text(value.name).attr('value', value.id));
    });
  }
});

})

$('#addbutton').click(function(){
  var x = $("#myselect").val()

  receiver = {}
})


</script>

令我困惑的是格式化要插入User创建方法的JSON数据的最佳方法。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

我认为最好的方法是使用带有remote:true的表单标签。它们可以自动格式化数据。更重要的是,默认情况下,Rails会检查非GET查询中的csrf_token,并且表单标记会自动包含该令牌。

要处理对不同事件的表单反应,您可以使用UJS:list of events fired on form