2016-10-04 1 views
1

オプションのbelongsTo関係が適切にストアにプッシュされないという問題が発生しています。私のEmberアプリケーションでは、オプションの2つのモデルの間に関係があります。たとえば、「プロファイル」モデルの「ユーザー」フィールドが空白の場合、オプションのbelongsTo関係がストアにプッシュされない

App.User = DS.Model.extend({ 
    profile: DS.hasMany('profile', {'async': true}) 
}); 

App.Profile = DS.Model.extend({ 
    user: DS.belongsTo('user', {'async': true}) 
}); 

を入力します。それが空の場合、シリアライザは私が正しくJSON-API規格(JSON-API resource linkage)を解釈している少なくとも場合、正規化されたペイロードに

.... 
relationships: { 
    user: null 
} 
... 

を返す必要があります。問題は、これがストアにプッシュされていないように見えることです。私は、「ユーザー」の関係を持つバックエンドから「プロフィール」のレコードをロード

  1. ことで、この問題を再現することができます非nullにその特定のレコードのクライアント側の「ユーザー」の値を変更する
  2. nullに設定バックエンド

からレコードをリロード値

  • は、これらのステップの後、「プロフィール」のレコードの「ユーザー」フィールドには、まだその障害が発生し、非null値を維持しています。

    これが期待どおりの動作またはバグですか?これが想定される動作であれば、データの整合性を維持するためにこれらの変更をどのように追跡する必要がありますか?

  • 答えて

    0

    JSON-APIをもう一度見た後、私は間違って解釈しているようです。正規化されたペイロードは、代わりに

    ... 
    relationships: { 
        user: { 
        data: null 
        } 
    } 
    ... 
    

    である必要があります。

    関連する問題