Ember.js 余烬数据-访问模型ID字段?

Ember.js 余烬数据-访问模型ID字段?,ember.js,ember-data,Ember.js,Ember Data,在Ember中,我需要在会话服务中存储模型的ID。我不太确定该怎么做,因为ID似乎没有暴露出来,并且在做类似的事情 export default DS.Model.extend({ id : DS.attr('number'), loginname : DS.attr('string'), /* ... */ }); 给出一个错误: 错误:断言失败:您不能将id设置为模型上的属性。请删除任何类似以下内

在Ember中,我需要在会话服务中存储模型的ID。我不太确定该怎么做,因为ID似乎没有暴露出来,并且在做类似的事情

export default DS.Model.extend({
    id                      : DS.attr('number'),
    loginname               : DS.attr('string'),
    /* ... */
});
给出一个错误:

错误:断言失败:您不能将
id
设置为模型上的属性。请删除任何类似以下内容的行:
id:DS.attr(“”)

不过,我需要将模型的ID与所有其他属性一起保存在会话中

编辑:

我忘了指出,
console.log(this.get('session.user')
给了我这样的表示:
{loginname:'foo',lastlogin,'somedate',…}
-没有任何要访问的ID,并且
this.get('session.user.ID')
返回
未定义的

我是在余烬2.3.0,余烬数据2.3.0


我怎样才能做到这一点呢?我感谢所有的指针!

Ember模型默认都有id键。如果使用Ember Inspector,请转到“数据”选项卡,查看所有模型都有id。对不起,我应该更详细一些……问题是,我从数据库查询并存储在会话中的对象没有我可以访问的id字段(见上文编辑)我将假设您使用的是ember simple auth。会话存储在cookie或本地存储中。无论哪种方式,它都只能存储普通json,而不能存储来自ember数据的对象。解决方法是将id保存到会话中,并添加计算属性,以便从ember数据存储中查看模型。您是正确的,但我怀疑我的问题确实在于我的un删除余烬数据:)我使用用户名/密码对REST服务进行身份验证,并在解析promise后为具有这些凭据的用户查询另一个服务。现在,我返回了一个有效的用户模型对象,但从未看到任何ID。我将返回更多代码以稍后澄清。