0

属性配列に他のモデルを保持するモデルがあります。ただし、これらのモデルが保存されるとき、サブモジュールを保持したくありません。代わりに、主キーを保存し、モデルがサーバーからフェッチされると、その解析によってモデルが「再構成」されます。関連するモデルを取得することによって。

これを達成するための最良のアプローチは何ですか?私がそれを機能させるのに最も近いのは、同期メソッドをオーバーライドすることです:

sync : function(method, model, options) {
  var topics = this.get('topics');
  model.attributes.topics = _.pluck(topics, 'id');

  var ret = Backbone.Model.prototype.sync.call(this, method, model, options);

  this.attributes.topics = topics;

  return ret;
},

しかし、これは定期的に失敗し、完全なモデルではなく属性にキーが残り、その結果クラッシュします。

解析関数 (少し言い換え):

parse : function(response) {
  response.topics = _.map(response.topics, function(item) {
    return app.topics.getByPK(item);
  }
  return response;
}
4

1 に答える 1