2013-10-15 7 views
0

일부 리소스에서 /search 끝점을 제외하고 대부분 내 API가 안심입니다. 나는 DS.ActiveModelAdapterDS.ActiveModelSerializer을 사용하고 있으며 모든 것이 훌륭합니다. 검색Ember Data 1.0 베타가 아닌 나머지 REST 끝점을 치는 방법

내 현재의 구현은 다음과 같이 다소이다

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) 

문제는 내가이 경우 어댑터에서 일어나는 모든 정상화/camelization을 수행하는 방법을 모르는 것입니다. 템플릿은이 경우 @get('organizations')에 의존하기 때문에 일부 밑줄 표시된 속성이 표시되지 않습니다.

이것을 구현하는 올바른 방법은 무엇입니까?

답변

0

pushPayload이 정상화/camelization을 할 suposed하지만이 문서에서 밀고 유형을 알 필요가 ...하지만에서 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,...} 
] 
+0

어떻게 것 I'@set의 배열이 조직 ')'? 내가 지금하고있는 것을 보여주기 위해 질문을 업데이트했습니다. – mehulkar

+0

그러면 상점에 조직이 있습니다. 예를 들어 모델 훅 @get ('store')에 대한 경로에서 찾을 수 있습니다. find ('organization', org.id) 그러나 a는 당신의 노선 정의를 보지 않았다. – Edu

+0

이 경우 나는 그것이 길에서 일어날 수있는 방법을 보지 않는다. 그러나 나는 지금 컨트롤러에서 그것을 정확하게하고있다. 나는 그 해결책을 좋아하지 않지만 그것이 효과적이다. – mehulkar

관련 문제