因此,在编写Ember.js应用程序时,我无法获得最基本的余烬数据记录。使用最新的Ember.js和ember-data的git构建,我在firebug中运行了这段代码:(使用我从指南中学到的gffub上的ember-data)
App.store = DS.Store.create({
revision: 8,
adapter: DS.RESTAdapter.create({bulkCommit: false, namespace: "api"})
});
App.Test = DS.Model.extend({
test: DS.attr('string')
});
App.store.load(App.Test, 1, {test: "abc"});
App.store.findById(App.Test, 1);
编辑:mspisars的回答让我意识到findById()不是使用的函数(虽然它确实有相同的结果)。这是内部余烬数据使用的功能。
最后一行返回一个App.Test对象,其test属性设置为“undefined”。我使用createRecord创建记录得到了相同的结果(诚然,我不记得差异)。
从我所看到的,这不是this问题的重复,尽管症状几乎相同。
感谢您的帮助。
答案 0 :(得分:0)
findById是您创建的方法吗?我在ember-data master中没有看到它! 试试App.Test.find(“1”)或App.store.find(App.Test,“1”)
答案 1 :(得分:0)
我以错误的方式访问存储的数据。加载数据后,我试图得到这样的数据:
t = App.store.find(App.Test, 1);
console.log(t.test); // wrong
返回 undefined 。
我应该这样做:
console.log(t.get('test'));
"abc"