将记录加载到ember-data中会创建一个几乎为空的记录

时间:2012-11-20 12:53:27

标签: ember.js ember-data

因此,在编写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问题的重复,尽管症状几乎相同。

感谢您的帮助。

2 个答案:

答案 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"