1

そのため、ember のさまざまなモデルにさまざまな主キーを設定する方法を見つけようとしてきましたが、App.Adapter.mapこれを達成するために人々が使用しているのを見てきました。

しかし、私が何を試しても、emberにはマップ機能がないようです。これは私が試したものです。

App.Adapter = DS.Adapter.extend();     // .map === undefined
App.Adapter = DS.RESTAdapter.extend(); // .map === undefined

私はそれ以上のものを試しましたが、すべてのようundefinedです。

私もこのようなことをしました

App.Store = DS.Store.extend({
    adapter: App.Adapter.create()
}); 

何も変わりません。

なぜこれができるのか誰にもわかりません。私はハードコーディングしており、primaryKey今では個々のモデルに変更する必要があります。

現在のハードコード

App.ApplicationSerializer = DS.RESTSerializer.extend({
   primaryKey: 'username'
});

ゴール:

App.Adapter.map('App.Person', {
  primaryKey: 'username'
});

これは、マップが見られる場所です http://ember-website.thomasboyt.com/api/data/modules/data-serializer.html -- 4 番目のコード ブロックがダウン https://stackoverflow.com/a/15480105/1907358

なぜこれが起こっているのか、誰にもアイデアがありますか?

4

1 に答える 1

1

次のように、モデルごとにカスタム シリアライザーを指定できます。

App.PersonSerializer = DS.RESTSerializer.extend({ primaryKey: 'username' });
App.PostSerializer = DS.RESTSerializer.extend({ primaryKey: 'foo' });
于 2013-11-06T08:43:49.083 に答える