31
我正在移植一个旧的应用程序来使用backbone.js(希望) 问题是系统中的各种对象没有使用'id'为id - 每个对象都是不同的。仔细阅读,我在初始化Backbone.Model时提出了下面的解决方案。骨干 - 使用不同的字段名称为id
initialize: function(){
this.idAttribute = 'user_ID';
this.set({'id':this.get('user_ID')});
}
我很担心,但是随着我与骨干一起发展,这种方法会咬我。 有没有人有这方面的经验。 任何指针非常赞赏。
编辑:我只是在模型上调用isNew()并且变为true,即使id现在设置为1. //////////////////// ///////////////////////
使用以下内容似乎将它整理出来。
User = Backbone.Model.extend({
idAttribute : 'user_ID'
})
明白这一点 - 谢谢。 – Chin
当我问自己这个问题时,偶然发现了这个问题如果在我的关系数据库模式中为主干项目使用id-suffixes,比如“id_user”而不是“id”。我确信根据[this](http://stackoverflow.com/a/1369773/2236166)使用它们会更好,然后我认为“Doh,但是骨干模型的id字段......”,直到我阅读本问答。谢谢! –
有点明显,但不要使用.get('id'),除非你想要原始的id值(如果有的话)。始终使用'model.id'。 – backdesk