1

因此,在编写 Ember.js 应用程序时,我无法让最基本的 ember-data 记录工作。使用 Ember.js 和 ember-data 的最新 git 构建,我在 firebug 中运行了这段代码:(使用我从 github 上的 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() 不是要使用的函数(尽管它确实具有相同的结果)。这是内部 ember 数据使用的功能。

最后一行返回一个 App.Test 对象,其测试属性设置为“未定义”。我使用 createRecord 创建记录得到了相同的结果(诚然我不记得有什么区别)。

据我所知,这不是这个问题的重复,尽管症状几乎相同。

谢谢你的帮助。

4

2 回答 2

0

findById 是您创建的方法吗?我在 ember-data master 的任何地方都看不到它!尝试 App.Test.find("1") 或 App.store.find(App.Test, "1")

于 2012-11-20T15:17:22.590 回答
0

我以错误的方式访问存储的数据。加载数据后,我试图获取这样的数据:

t = App.store.find(App.Test, 1);

console.log(t.test); // wrong

那返回undefined

我应该这样做:

console.log(t.get('test'));
"abc"
于 2012-11-23T11:32:11.270 回答