2017-01-27 2 views
0

Aは多くのBとBがAに属しているので、私は2つのモデルの間に関係があります。Aをロードすると、Bはサイドロードされ、逆の関係B-> Aをテンプレート。しかし、ロードされたBモデルのスナップショットでbelongsTo()を使用しようとすると、nullが返されます。それはうまくいくはずですが、それはテンプレートではどのように動作しますが、アダプタのスナップショットでは動作しませんか?EmberのスナップショットbelongsToは常にnullを返します

コードは、ここでは例のように簡単です:https://guides.emberjs.com/v2.11.0/models/relationships/

としては、それがテンプレートではなく、アダプタ内のスナップショットで正常に動作し、上記と述べました。この例で責めを作成し

:私もbelongsTo()

EDITのためにコードをステップ実行するときinverseRecordが関係にnullであることをデバッガで見ることができます。 serverのアダプタと、delete:https://ember-twiddle.com/71c98929c307284c78dae336d6cd040bを押したときのログ出力を確認します。アダプターのbelongsTo関係を解決できることが予想されますが、表示されるようにnullを返します。また、テンプレートで正常に動作することがわかります。

+0

シリアライザで何かしてみましたが、テンプレートで動作する場合、シリアライズは問題ではありません... – Senthe

答えて

0

レコードを削除する前に関係を削除しています。 user.get('servers').removeObject(server)を呼び出すことによって関係が削除されます。その後、アダプタdeleteRecordのトリガとなるserver.deleteRecord()が呼び出されます。 snapshot.belongsTo('user')の前に関係が削除されているので、nullが返されます。予期しない動作を確認するには、servers.removeObject(server);コールを削除してください。

関連する問題