1

そのため、Ember.js アプリを作成しているときに、最も基本的な ember データ レコードを機能させることができませんでした。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 データを使用するための関数です。

最後の行は、test プロパティが「未定義」に設定された App.Test オブジェクトを返します。createRecord を使用してレコードを作成しても同じ結果が得られました (確かに違いは覚えていません)。

私が見る限り、これはこの質問と重複していませんが、症状はほとんど同じです。

助けてくれてありがとう。

4

2 に答える 2

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 に答える
0

findById はあなたが作成したメソッドですか? ember-data master のどこにも見当たりません!App.Test.find("1") または App.store.find(App.Test, "1") を試してください

于 2012-11-20T15:17:22.590 に答える