Как я могу обновить атрибуты модели при вызове сохранения с использованием магистрали - PullRequest
1 голос
/ 19 августа 2011

Как я могу обновить атрибуты модели при вызове save () Я использую магистральные и магистральные реляционные.Иметь следующий код:

saveParams: function(event){
    var self = this;
    this.model.save({}, {
      success: function(model, resp, xhr){
        model = ...

      },
      error: function(model, resp){
        alert(JSON.stringify(resp));
      }
    });
    $(this.el).effect("highlight", {}, 1000);
    event.preventDefault();
  },

При успешном прохождении обратного вызова параметры «модель» имеют атрибуты ald (до сохранения) или содержат обновленные атрибуты.Как я могу обновить атрибуты в модели?

model.set (соответственно) не помогает мне model.set (JSON.stringify) не помогает мне

UPD1: я использую Backbone RelationModelпричина есть вложенные модели.Вложенные модели не обновляются при успешном обратном вызове.Я думаю, потому что RelationModel использует Backbone.Store.

UPD2: у меня работает только так:

model.clear()
model.set(resp);
model.change();

Я знаю, это некрасиво, но работает)

1 Ответ

2 голосов
/ 19 августа 2011

Обычно вам не нужно этого делать!Backbone автоматически анализирует ответ, если команда save (), как вы видите здесь: http://documentcloud.github.com/backbone/docs/backbone.html#section-41

Если ваши данные ответа отличаются от предполагаемой структуры данных магистрали по умолчанию, вам следует взглянуть на метод Backbone.Model#parseи, возможно, перезаписать его (это очень простой метод).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...