Я боролся уже несколько часов, надеюсь, кто-то может направить меня в правильном направлении.
Я работаю над проектом, который извлекает некоторый контент из Contentful (я использую NPM контент-менеджмент). Я хочу дать возможность некоторым пользователям редактировать контент прямо на веб-странице. Обновление содержимого заполненного поля EXISTING работает отлично:
.then(entry => {
entry.fields.title['en-US'] = 'Update entry title'
// title has previously some content
return entry.update()
})
Но моя проблема заключается в том, что я хочу обновить поле, которое существует в типе содержимого, но пустое (без содержимого). Как упомянуто в документации:
Используйте эту конечную точку для извлечения записи с указанным идентификатором. Все пустые поля ввода в ответе опущены, это означает, что если поле пустое, его ключ не будет представлен в ответе. Если запись не имеет установленных полей, то соответствующий ключ также отсутствует. Чтобы обновить запись с пустыми полями, все ключи, которые должны быть обновлены, должны быть добавлены к объекту записи.
«Все пустые поля ввода исключаются из ответа», поэтому, когда я делаю .then(space => space.getEntry(entryId))
Я получил только поля, которые НЕ являются пустыми, поэтому, если я пытаюсь сделать:
.then(entry => {
entry.fields.description['en-US'] = 'New entry description'
// description has NO previous content
return entry.update()
})
Я, очевидно, получаю следующую ошибку: Cannot set property 'en-US' of undefined
Что означает Для того, чтобы обновить запись с пустыми полями, все ключи, которые должны быть обновлены, должны быть добавлены к объекту записи . из документации и как я могу легко обновить пустые поля?
Спасибо!