2017-10-10 5 views
0

私のレールモデルからバックプレーンをロードしてマーケットモデルを初期化したい。また、モデルを更新したままにするためのリアルタイムデータを提供するwebsocket接続もあります。Ember.js - 同じモデルの異なるシリアライザ(バックエンドレールとウェブソケットのアップデート)

rails APIからの初期化要求をシリアル化せずに、websocketからデータをシリアル化するにはどうすればよいですか?シリアライザはモデルに付属しているので、どのように分離できるのかわかりません。

もう1つの問題は、websocketの更新でpushPayload()で更新する主キーを持たないことです。市場名は(以下のUSDCADのように)ユニークになります。これをどうすれば処理できますか?

のWebSocketの更新例は:

{ 
    "platform": "trader-platform", 
    "updateType": "summaryUpdate", 
    "USDCAD": { 
    "high": 234, 
    "low": 143, 
    "last": 200 
    } 
} 
+0

実際には、異なるプラットフォームに同じマーケット名が割り当てられている可能性があるため、マーケット名を主キーにすることはできません。私は更新する前に各IDを調べることを意味します。 –

答えて

0
  • まず、あなたはIDを取得するために、右のレコードを見つけなければなりません。 IDがないと、データをストアに格納することはできません。
  • 次に、ペイロードにIDを割り当てます。
  • ペイロードをシリアル化する必要がある場合は、 store.pushPayload(modelName、payload)を使用し、ペイロードは JSONApi docにフォーマットし、store.push(jsonapidoc)を使用します。
関連する問題