Как я могу обновить пустые поля в существующем контенте? - PullRequest
0 голосов
/ 12 апреля 2020

Я боролся уже несколько часов, надеюсь, кто-то может направить меня в правильном направлении.

Я работаю над проектом, который извлекает некоторый контент из 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

Что означает Для того, чтобы обновить запись с пустыми полями, все ключи, которые должны быть обновлены, должны быть добавлены к объекту записи . из документации и как я могу легко обновить пустые поля?

Спасибо!

...