使用Backbone.js填充save()上发送的JSON对象

Kev*_*nce 4 javascript ruby backbone.js

我正在尝试将Backbone.js中的对象发送到我的Rails后端.目前,当我调用save()我的模型时,它会将其发送到服务器:

{"program_id":1,"issuer_id":4}
Run Code Online (Sandbox Code Playgroud)

但是Rails期望它采用以下格式:

{"program_issuer_link":{"program_id":1,"issuer_id":4}}
Run Code Online (Sandbox Code Playgroud)

当我调用save()我的模型时,有什么办法可以对从Backbone.js发送到Rails的JSON对象进行封装吗?我查看了文档,但找不到任何相关信息.

Orl*_*ndo 6

如果你正在使用backbone-rails宝石,那么你可以这样做.

var User = Backbone.Model.extend({
   paramRoot: 'user'
});
Run Code Online (Sandbox Code Playgroud)

您也可以覆盖这样的toJSON方法

var User = Backbone.Model.extend({
  toJSON: function(){
    return {user: _.clone(this.attributes)}
  },
});
Run Code Online (Sandbox Code Playgroud)