backbone.js не сохраняет модель с обновленными атрибутами

usersCollection.fetch({
    success: function () {
        var getModel = usersCollection.where(checkIDJSON);
        //update that partcular attribute
        getModel.set('interest', 'rolling stones');
        console.log("Users:" + usersCollection.toJSON());

    },
    error: function () {
        // something is wrong..
    }

});

После запуска кода, он жалуется, что функция не определена, при попытке сохранить в модель. Есть идеи почему? Спасибо

Я использую backbone.js в Titanium Mobile

1 ответ

Решение

Из прекрасного руководства:

где collection.where(attributes)

Вернуть массив всех моделей в коллекции, которые соответствуют переданным атрибутам.

Итак, когда вы говорите это:

var getModel = usersCollection.where(checkIDJSON);

вы в конечном итоге с массивом моделей в getModel, Если вы уверены, что будет соответствовать только одна модель, используйте findWhere:

findWhere collection.findWhere(attributes)

Так же, как где, но напрямую возвращает только первую модель в коллекции, которая соответствует переданным атрибутам.

как это:

var getModel = usersCollection.findWhere(checkIDJSON);

Если может быть несколько совпадений, то, вероятно, вы захотите позвонить set на каждом.

Другие вопросы по тегам