save()上的Backbone.js是发布创建而不是更新和JS而不是JSON?

时间:2012-04-23 01:17:17

标签: ruby-on-rails backbone.js

我正在尝试使用Backbone.js模型来跟踪用户看到的指南。我想将值存储在User.guides中,这是rails中的序列化字段。

var Model = Backbone.Model.extend({
    urlRoot : '/users',
    defaults : {
        user : {
            guides : {
                step1 : false,
                step2 : false           
            }           
        }
    }

});

这就是加载时发生的事情。稍后当我尝试进行更新时:

me.model.set({
    user : {
        room_wizard : {
            project_completed : true
        }           
    }
});


me.model.save();

这里的问题是Rails出错是由于以下原因:

  • Backbone.js发布为JS时应该更新为JSON吗?为什么?

想法?我是否正确处理上述问题?我是backbone.js的新手谢谢

1 个答案:

答案 0 :(得分:2)

Backbone用于在服务器POSTPUT之间进行选择的经验法则是,如果模型有id或者没有。{/ p>

  • 如果模型 id Backbone将使用动词PUT
  • 如果模型没有id Backbone将使用动词POST