2017-01-07 7 views
1

EmberJS가 어떤 이유로 CamelCase로 작성된 모델 속성을 채우지 않습니다. JSONAPIAdapter (RESTAdapter는 옵션이 아닙니다)를 사용합니다. 가 여기 내 모델 :EmberJS가 camelCase 속성을 채우지 않습니다.

import DS from 'ember-data'; 
export default DS.Model.extend({ 
    shortName: DS.attr('string'), 
    fullName: DS.attr('string'), 
    inn: DS.attr('string'), 
    kpp: DS.attr('string'), 
    checkingAccount: DS.attr('string'), 
    correspodentAccount: DS.attr('string'), 
    bik: DS.attr('string'), 
}); 

내 핸들 템플릿 : 서버에서

{{#each model as |company|}} 
     <tr class="companies-list__item"> 
      <td class="companies-list__property">{{company.shortName}}</td> 
      <td class="companies-list__property">{{company.inn}}</td> 
      <td class="companies-list__property">{{company.kpp}}</td> 
      <td class="companies-list__property">{{company.checkingAccount}}</td> 
      <td class="companies-list__property">{{company.correspodentAccount}}</td> 
      <td class="companies-list__property">{{company.bik}}</td> 
     </tr> 
{{/each}} 

대답은 다음과 같습니다, 그것은 여관, KPP, BIK을 채우는 않습니다

{ 
    type: 'company', 
    id: 4, 
    attributes: { 
      shortName: 'Рога и копыта', 
      fullName: 'ООО Рога и копыта', 
      inn: '312312312', 
      kpp: '767675572', 
      checkingAccount: '3123145124', 
      correspodentAccount: '6547598', 
      bik: '76979356' 
    }, 
}, 

하지만, 다른 사람을 사용하지 않습니다. 뭐가 문제 야?

+0

을 사용하여 서버에 액세스 할 수 있습니까? –

답변

1

Ember.js는 명명 규칙을 사용하며 여러 단어로 된 낙타 사례 (예 : firstName) 모델 속성이 여러 단어로 된 밑줄로 구분 된 소문자 속성 (예 : first_name)에 매핑 될 것으로 기대합니다. JSON 응답. JSON이 firstName을 제공하거나 백엔드 API를 제어하지 않는 시나리오에서이 규칙에 포함되지 않은 것이 있으면 JSON 응답에서 특정 키를 찾도록 어댑터에 지시하는 맵을 정의 할 수 있습니다 지정된 모델의 속성에 매핑합니다. 당신이 뭔가를 할 수

:

DS.RESTAdapter.map('App.User', { 
 
    shortName: { key: 'shortName' }, 
 
    fullName: { key: 'fullName' } 
 
});