2014-01-06 6 views
4

У меня есть модель User, которая hasManyphones. Пользовательский интерфейс пользователя позволяет добавлять/удалять/обновлять телефоны в одной форме.Рекомендации по обновлению нескольких записей одним запросом сервера

Когда пользователь отправляет форму, все изменения в списке телефонов отправляются на сервер с одним запросом.

Я выдвинул App.UserSerializer с пользовательским номером serializeHasMany, чтобы включить все данные телефона в один запрос.

Настоящая проблема заключается в синхронизации состояния store после завершения запроса. В основном мне необходимо решить эти две проблемы:

  1. Удалить удаленные записи из магазина. Я не мог найти никаких методов, которые просто удаляют запись из магазина.
  2. Обновление новых записей с идентификаторами, сгенерированными сервером. (Или просто удалить новые записи из массива store и hasMany поскольку ответ создает Dups для добавленных записей)

Есть ли какие-либо лучшие практики или работу обходные для такого рода сценариев?

спасибо.

ответ

1

Я думаю, что лучшая практика на данный момент - это просто придерживаться обычного REST. В вашем случае это будет означать несколько дополнительных запросов (правда, сколько телефонов может иметь пользователь?), Но это избавит вас от больших усилий при работе с вещами вручную.

Ember может поддерживать массовые обновления в будущем (https://github.com/emberjs/data/blob/master/TRANSITION.md, «Мы планируем поддержать партию экономии с помощью одного запроса HTTP через выделенный API в будущем.»)

+0

я вниз проголосовали, потому что в то время как ОП просит в частности, о телефонах - есть много пользователей, которые ищут решения для моделей данных с гораздо большим числом вариантов. Придерживание обычного REST просто не сокращает его, если это массовое действие с более чем 100 запросами. – user3467349

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