0

/search一部のリソースにエンドポイントがあることを除いて、私の API はほとんど安静です。私は and を使用してDS.ActiveModelAdapterおりDS.ActiveModelSerializer、すべてが素晴らしいです。

私の現在の検索の実装は、次のようなものです。

makeAPICall: ->
  @set('loading', true)

  states = @get('selectedStates')
  statesString = states.join(',')
  query = @get('searchParam')
  url = "/api/v1/organizations/search?#{statesString}&query=#{query}"

  $.get(url).then (data) =>
    @get('store').pushPayload(data)
    # TODO this needs to go through the adapter.
    orgs = data.organizations.map (org) =>
      @store.find('organization', org.id)
    @set('organizations', orgs)
    @set('loading', false)

問題は、この場合、アダプターで発生するすべての正規化/ラクダ化を行う方法がわからないことです。この場合、テンプレートは に依存しているため、@get('organizations')下線付きの属性の一部は表示されません。

これを実装する正しい方法は何ですか?

4

1 に答える 1

0

pushPayload は正規化/ラクダ化を行うことになっていますが、ドキュメントから、プッシュしているタイプを知る必要があります... しかし、v1.0.0-beta.3 バージョンにあります

var pushData = {
  posts: [
   {id: 1, post_title: "Great post", comment_ids: [2]}
  ],
  comments: [
    {id: 2, comment_body: "Insightful comment"}
  ]
}

store.pushPayload('post', pushData); 

あなたの場合、呼び出しは

@get('store').pushPayload('organization', data)

データ json は組織の配列です

organizations:[
    {id:1,...},
    {id:2,...},
    {id:3,...}
]
于 2013-10-15T08:58:04.757 に答える