2017-05-17 5 views
0

私は2つのエンドポイントを持っています: /posts - >すべての投稿を取得する /posts/{post_id}/comments - >投稿のすべてのコメントを取得するEmber Data:別のエンドポイントから投稿のコメントを読み込む

コメントエンドポイントのコメントが入力されている投稿モデルにcomments属性が必要です。投稿にコメントを読み込むにはどうしたらいいですか?

私はDS.JSONSerializerを使用しています。

ありがとうございます!

答えて

1

モデルhasManyプロパティを与える:

import Model from 'ember-data/model'; 
import { hasMany } from 'ember-data/relationships'; 

export default Model.extend({ 
    comments: hasMany('comment'); 
}); 

そしてrelated linkとしてごPostペイロードコメント関係に設定します。

data: { 
    attributes: {} 
    id: 'your-post-id', 
    relationships: { 
     comments: { 
      links: { 
       related: 'posts/your-post-id/comments' 
      } 
     } 
    } 
} 

とすぐにコメントをターゲットとして、エンバーデータが行いますあなたの関連リンクへの呼び出し。例:

{{#each post.comments as |comment|}} 
    {{comment.propertyX}} 
{{/each}} 
+0

私はAPIをほとんど制御できず、JSONAPI仕様に準拠していません。 –

+1

次に、カスタム・シリアライザを作成して、バックエンド・ペイロードをJSONAPI仕様に変更する必要があります。この全記事を読む:https://guides.emberjs.com/v2.13.0/models/customizing-serializers/ –

関連する問題