首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用链接/引用字段更新内容条目

使用链接/引用字段更新内容条目
EN

Stack Overflow用户
提问于 2017-08-24 05:40:33
回答 1查看 1.3K关注 0票数 3

内容丰富的文档相当稀疏。我想更新一个条目上的一个字段,该字段是指向另一个条目的链接("Reference“是他们在CMS UI中的叫法)。

有没有人知道在使用Contentful Management API时,他们想要什么格式?

代码语言:javascript
复制
type  ||= @mgmt.content_types.find(
  ENV['CONTENTFUL_SPACE_ID'], 'comments'
)

entry = type.entries.create(
  title: params[:title],
  article: params[:article]
)

其中:article是字符串形式的条目ID。这将返回:

代码语言:javascript
复制
undefined method `id' for "7L4IpEtsdffds8EsmoWMGIgy":String
Extracted source (around line #74):

#72         case field.type
#73         when ContentType::LINK then
*74           { sys: { type: field.type, linkType: field.link_type, id: attribute.id } } if attribute
#75         when ContentType::ARRAY then
#76           parse_fields_array(attribute)
#77         when ContentType::LOCATION then

我还尝试用@client.entry(params[:article])替换params[:article],认为它们可能想要整个对象,但它返回了相同的错误,只是它将相同的参数视为空字符串。

我也尝试了@DavidLitvak的建议:

代码语言:javascript
复制
link = Contentful::Management::Link.new({
  sys: {
    type: 'Link',
    linkType: 'Entry',
    id: params[:article]
  }
})

entry = type.entries.create(
  title: params[:title],
  article: link
)

尽管这不会抛出错误,但在填充标题字段时,文章字段显示时没有条目。

还要注意,我使用的是Ruby gem:contentful-management

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-24 06:23:51

您需要发送的是引用文章的Link

您可以这样做:

代码语言:javascript
复制
entry = type.entries.create(
  title: params[:title],
  article: Contentful::Management::Link.new({
    sys: {
      id: params[:article],
      type: 'Link',
      linkType: 'Entry'
    }
  })
)

您可以在此处找到有关链接如何工作的更多信息:https://www.contentful.com/developers/docs/concepts/links/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45849717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档