Backbone model.save()以奇怪的方式向服务器发送属性

时间:2014-06-19 19:43:28

标签: javascript backbone.js

我有一个Backbone,我设置了这样的属性:

  comment.set({
    commentable_id:   1,
    commentable_type: "Post",
    body:             "comment body",
    parent_id:        123,
    blabla:           'blabla'
  });

然后,当我尝试像这样保存它时:

comment.save({}, {[callbacks here]});

它将数据发送到服务器,如下所示:

{"commentable_id"=>"1",
 "commentable_type"=>"Post",
 "parent_id"=>"123",
 "blabla"=>"blabla",
 "body"=>"comment body"
 "comment"=> {"body"=>"comment body", "commentable_id"=>"1", "commentable_type"=>"Post"}}

因此,正如您所看到的,某些数据在comment键内重复,但不是全部。我需要的是所有属性都在comment密钥内,并且没有一个属于它。

骨干模型绝对是空的:

  App.Models.Comment = Backbone.Model.extend({

    urlRoot: '/comments',

    initialize: function() {
    },

  });

我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

您可以避免set并直接使用save吗?

comment.save({
    comment: {
        commentable_id:   1,
        commentable_type: "Post",
        body:             "comment body",
        parent_id:        123,
        blabla:           "blabla"
    }
});