2012-01-24 4 views
5

Backbone.js выполняет запрос POST при создании и сохранении новой модели, но не учитывает сохранение модели (т. Е. Далее сохраняет результат в PUT, а не POST) пока модель не будет иметь идентификатор. Как сервер должен вернуть идентификатор вновь созданной модели, чтобы backbone.js мог установить его (то есть, как он должен отвечать на первоначальный POST)?ID для недавно сохраненной модели backbone.js

Если backbone.js не справляется с этим, я предполагаю, что лучший способ сделать это - использовать обработчик успеха для установки идентификатора?

ответ

9

У вас есть два варианта. Во-первых, нужно вернуть ту же структуру JSON для запроса POST, как и запрос GET для действия show (возврат одного элемента). В этом случае используется один запрос.

От documentation:

Установите хэш атрибутов модели, а также синхронизировать модель с сервером. Если сервер возвращает хеш атрибутов, который отличается, состояние модели будет установлено снова.

Другой вариант - вызвать выборку в вашей коллекции после сохранения. Это займет более 1 запроса, хотя и будет всегда менее эффективным.

+0

Чтобы быть уверенным, что вы скажете, верну ли полностью сформированную модель с идентификатором в ответ на исходный POST, backbone.js изменит атрибуты сохраненной модели на возвращаемые атрибуты? Ты уверен? –

+0

@ KimSun-wu См. Ссылку в моих праведниках. – Gazler

+0

Этот ответ не делает грамматический смысл -1 – reach4thelasers

Смежные вопросы