Отправка дополнительных, не модельных данных в запросе на сохранение с помощью backbone.js? - PullRequest
8 голосов
/ 20 марта 2012

Я ищу решение для решения проблемы состояния между моделями с использованием backbone.js.

У меня есть приложение для отслеживания времени, в котором пользователь может запускать / останавливать задания, и оно будет записывать время выполнения задания. У меня есть модель задания, в которой хранятся данные задания и указано, включено ли оно в данный момент.

Одновременно можно выполнять только одну работу. Поэтому, если пользователь запускает задание, текущее задание должно быть остановлено. Мне интересно, как лучше всего это сделать. Я имею в виду, что я мог бы просто соответствующим образом переключить параметр «on» каждого задания, а затем вызвать save для каждого, но это приведет к 2 запросам к серверу с полным представлением каждого задания.

В идеале было бы замечательно, если бы я мог добавить дополнительные данные в запрос на сохранение подобно тому, как можно отправить дополнительные данные в запросе на выборку. Мне нужно только отправить идентификатор текущего выполняющегося задания, и, поскольку оно действительно не связано с моделью, его нужно отправить вместе с моделью, а не ее частью.

Есть ли хороший способ сделать это? Я думаю, я мог бы найти способ сохранить ссылку на текущую работу сервера на стороне, если это необходимо: \

1 Ответ

8 голосов
/ 21 марта 2012

когда вы вызываете функцию сохранения, первый параметр - это объект данных, которые будут сохранены. Вместо того, чтобы просто вызывать model.save(), создайте объект, который имеет данные модели и ваш дополнительный материал.

внутри вашего метода, который запускает сохранение:

...
var data = this.model.toJSON();
data.extras = { myParam : someData };

this.model.save(data, {success: function( model, response ) {
    console.log('hooray it saved: ', model, response);
});
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...