Javascript 使用Backbone.js填充save()上发送的JSON对象
我正在尝试将一个对象从Backbone.js发送到Rails后端。当前,当我在我的模型上调用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对象进行封装?我已经查看了文档,但找不到任何相关信息
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文档中没有找到任何内容。感谢你的回复,你不必提供关于如何执行的信息:)但这肯定会让你的答案更有价值