Я делаю put
вызов в ember.js
, и я передаю объект, который содержит массив. Идентификатор элемента в этом массиве никогда не передается бэкэнду, но он существует в объекте.
Я выполняю вызов put
, используя
this.ajax.put('path', { data: object }.then();
Объект, который я передаю как данные, имеет массив (пример DTO).
object = {
"array": [
{
"id": 0,
"prop1",
"prop2",
"etc..."
}
],
"prop1",
"prop2",
"etc..."
}
Я создаю каждый объект из массива, используя
let objectArray = get(object, 'array');
let elementInObjectArray = //ajax call to get the element to add;
objectArray.pushObject(store.createRecord('element-in-object-array', {
id: elementInObjectArray.id,
prop1: elementInObjectArray.prop1,
etc...
})
Непосредственно перед моим вызовом put
я записываю id
из object.array.element.id
и они определены и доступны (в виде строки). (См. Изображение)
Тем не менее, этот id
никогда не передается бэкэнду, и затем я получаю 404
с сервера, потому что идентификатор является первичным ключом. (См. Изображение моего put
request payload
)
Я знаю, что ember всегда возвращает string
как id
при создании запись, но я не думаю, что это причина, по которой она терпит неудачу, поскольку я, вероятно, получу больше как 400 за плохое форматирование. Прямо сейчас, id
просто никогда не пройден.
Как я могу убедиться, что идентификатор элемента массива передан в вызове?