0

データベースに保存されているいくつかの属性を持つモデルと、別の場所に保存されている別のモデルがあるとしますが、クライアントはそれを 1 つの JSON BLOB として受け取ります。

App.Tournament = DS.Model.extend({
  name:              DS.attr("string"),
  ...
  is_registered:     DS.attr("boolean")
});

属性is_registeredはサーバーのモデルの一部ではないため、個別に保存したいと考えています。これが例です

tournament = App.store.find(App.Tournament, 1);
tournament.set("name", "foo bar");
tournament.set("is_registered", true);

App.store.commit();

これは次のようになります

PUT /tournaments/1 name: "foo bar"
POST /tournaments/1/register

またはそのようなもので、属性がデフォルトとは異なる方法で保存されます。これを行う簡単な方法はありますか、それとも間違った方法で問題に取り組んでいますか?

4

1 に答える 1

2

サーバー上でこの複雑さを管理します。複数のリクエストで 1 つの論理アイテムをクライアントに保存する場合の問題は、リクエストの 1 つが失敗した場合、データが破損する可能性があることです。どのデータがどこに行くかを調整する何らかの Facade サービスを実行する場合、操作をトランザクションでラップできます。

于 2012-12-17T21:33:21.103 に答える