2017-08-23 13 views
2

内容のわかりやすいドキュメントはかなり疎です。別のエントリへのリンクであるエントリのフィールドを更新したい(「参照」はCMSのUIで呼び出すものです)。更新リンク/参照フィールドを含む内容のあるエントリ

Contentful Management APIを使用しているときに、どのような形式にしたいのですか?

type ||= @mgmt.content_types.find(
    ENV['CONTENTFUL_SPACE_ID'], 'comments' 
) 

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

ここで、:articleはストリングとしてのエントリIDです。私はまた、彼らはオブジェクト全体をすることが考え@client.entry(params[:article])params[:article]を交換しようとした

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 

が、それは同じエラーが唯一それが空の文字列と同じ引数を見て返します。これが返されます。

link = Contentful::Management::Link.new({ 
    sys: { 
    type: 'Link', 
    linkType: 'Entry', 
    id: params[:article] 
    } 
}) 

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

を、これはエラーになりませんが、タイトルフィールドが設定されている間、記事のフィールドがエントリなしで示しています

私はまた、@ DavidLitvakの提案時にこれを試してみました。

また、Ruby gem:contentful-managementを使用しています。

答えて

1

送信する必要があるのは、参照先の記事のLinkです。

は、次のような操作を行うことができます。https://www.contentful.com/developers/docs/concepts/links/

+0

これが正常にリンクハッシュを生成し、この時間をケースに合格するので、エラーなし:

entry = type.entries.create( title: params[:title], article: Contentful::Management::Link.new({ sys: { id: params[:article], type: 'Link', linkType: 'Entry' } }) ) 

あなたがリンクはここで働い方法の詳細情報を見つけることができます。しかし、それはまだCMSにリンクを作成しません。フィールドはまだ空です。 – JLF

+0

サポートリクエストはhttps://support.contentful.com/hc/en-usで開けますか?あなたの問題をより良く助けることができます。 –

関連する問題