From 4f551e3d1000f7b9c8c8e020ab666ce78f9d1397 Mon Sep 17 00:00:00 2001 From: Aaron Heesakkers Date: Tue, 7 Mar 2017 10:32:43 +0100 Subject: [PATCH 1/2] Initialize empty toOne relationships actually empty --- addon/utils/related-proxy.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addon/utils/related-proxy.js b/addon/utils/related-proxy.js index 7a9d7fd..b000ecc 100644 --- a/addon/utils/related-proxy.js +++ b/addon/utils/related-proxy.js @@ -63,7 +63,7 @@ const RelatedProxyUtil = Ember.Object.extend({ newContent = Ember.A([]); } else if (kind === 'toOne') { proxyFactory = Ember.ObjectProxy; - newContent = Ember.Object.create(); + newContent = null; } if (resource.get('isNew')) { return proxyFactory.create({ content: newContent }); @@ -92,7 +92,7 @@ const RelatedProxyUtil = Ember.Object.extend({ 'promise': promise, 'type': relation, 'kind': kind }); return proxyProto.create({ - content: (kind === 'toOne') ? Ember.Object.create() : Ember.A([]) + content: (kind === 'toOne') ? null : Ember.A([]) }); }, From e824474fd2a0e3ad91d3b8032c1dbc2fdde87352 Mon Sep 17 00:00:00 2001 From: Aaron Heesakkers Date: Tue, 7 Mar 2017 11:10:44 +0100 Subject: [PATCH 2/2] Add promise to empty to-one related proxy --- addon/utils/related-proxy.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addon/utils/related-proxy.js b/addon/utils/related-proxy.js index b000ecc..7b231ac 100644 --- a/addon/utils/related-proxy.js +++ b/addon/utils/related-proxy.js @@ -62,7 +62,9 @@ const RelatedProxyUtil = Ember.Object.extend({ proxyFactory = Ember.ArrayProxy; newContent = Ember.A([]); } else if (kind === 'toOne') { - proxyFactory = Ember.ObjectProxy; + proxyFactory = Ember.ObjectProxy.extend(Ember.PromiseProxyMixin, { + promise: new Ember.RSVP.Promise(resolve => { resolve(null); }) + }); newContent = null; } if (resource.get('isNew')) {