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

Javascript 使用Backbone.js填充save()上发送的JSON对象,javascript,ruby,backbone.js,Javascript,Ruby,Backbone.js,我正在尝试将一个对象从Backbone.js发送到Rails后端。当前,当我在我的模型上调用save()时,它会将此消息发送到服务器: {"program_id":1,"issuer_id":4} 但Rails希望它采用以下格式: {"program_issuer_link":{"program_id":1,"issuer_id":4}} 当我在我的模型上调用save()时,有什么方法可以对从Backbone.js发送到Rails的JSON对象进行封装?我已经查看了文档,但找不到任何相关信息

我正在尝试将一个对象从Backbone.js发送到Rails后端。当前,当我在我的模型上调用
save()
时,它会将此消息发送到服务器:

{"program_id":1,"issuer_id":4}
但Rails希望它采用以下格式:

{"program_issuer_link":{"program_id":1,"issuer_id":4}}

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

如果您使用的是
主干rails
gem,那么您可以这样做

var User = Backbone.Model.extend({
   paramRoot: 'user'
});
您还可以像这样重写
toJSON
方法

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

啊,谢谢你,奥兰多。我使用了第二种方法,效果很好。@orlando你确定第一种方法只适用于主干rails吗?@IsmaelAbreu试试看是否有效,这是rails的猴子补丁(你知道,因为rails需要根节点的JSON,如果你想在Backbone.js上复制它,很容易,我会在答案中添加关于如何执行的信息。是的,我在Backbone文档中没有找到任何内容。感谢你的回复,你不必提供关于如何执行的信息:)但这肯定会让你的答案更有价值