Então, se você está usando Rails como eu, você quer todos os seus parâmetros de requisição aninhados sob o nome do objeto. É muito complicado retirá-los da raiz.
Rails quer
People.new params[:people]
Não
People.new :name => params[:name], :age => params[:age]
Com alguns likes de js, você pode adicionar este suporte ao Backbone.synch
var orgSync = Backbone.sync;
Backbone.sync = function (method, model, options) {
var orgToJSON = model.toJSON;
if (_.contains(['create', 'update'], method)) {
model.toJSON = function () {
if (model.paramRoot) {
var data = {};
data[model.paramRoot] = _.clone(model.attributes);
return data;
} else {
return _.clone(model.attributes);
}
};
}
orgSync(method, model, options);
model.toJSON = orgToJSON;
};
isso envolve o valor de paramRoot se houver um existente no modelo de backbone. mas apenas na criação e atualização como você esperaria.
A melhor parte é que isso permite que a definição do Backbone.synch seja atualizada e este shim ainda funcionará.