2014-01-25 3 views
1

Ember Data로 템플릿을 채우려고했습니다. 내 DS 스토어에서 모델을 찾으려고 할 때 이상한 문제가 발생합니다. 자습서를 따라 왔지만 짜증나는 오류가있었습니다.Ember 데이터 : 데이터 저장소에서 모델을 가져올 수 없습니다.

오류는 '경로로드 중 오류 : 정의되지 않음'입니다. 나는 무엇을 시도했다

다음에 Index.html에서

MovieTracker.Store = DS.Store.extend({ 
    url: 'http://addressbook-api.herokuapp.com' 
}); 

MovieTracker.Contact = DS.Model.extend({ 
    first: DS.attr('string'), 
    last: DS.attr('string'), 
    avatar: DS.attr('string') 
}); 

MovieTracker.Router.map(function() { 
    this.resource('contacts'); 
}); 

MovieTracker.ContactsRoute = Ember.Route.extend({ 
    model: function(){//works when changing to 'activate:' 
     //return; //this works! it shows me a simple template and updates URL to index.html#/contacts 
     return this.store.find('contact');//error: 'Error while loading route: undefined' 
    } 
}); 

나는 간단한 # 링크-에는 '접촉'(응용 프로그램 핸들)이 잘 작동 할 수 있습니다. 연락처라고하는 간단한 템플릿도 있는데 this.store.find ('contact') 줄을 포기할 때 제대로 작동합니다.

JSBin : http://emberjs.jsbin.com/OxIDiVU/170/edit?html,js,output json으로는에 있습니다 http://addressbook-api.herokuapp.com/contacts

당신이 나에게 어떤 조언을 주시겠습니까? 엠버 데이터 (1.0 Beta 5)를 선호 하시겠습니까? 또 다른 질문 : 핸들 바를 미리 컴파일하지 않은 웹 사이트는 좋은 생각이 아니겠습니까?

읽어 주셔서 감사합니다.

+0

서버의 응답이 맞습니까? 서버의 응답을 게시 할 수 있습니까? Ember 데이터를 작동 시키려면 약간 문제가 있지만, 일단 모든 것이 해결되면 작업이 잘됩니다. Ember.js 및 Ember 데이터에 대해 상당히 큰 사이트를 설정했습니다. – Gogu

+0

안녕하세요 고구, 물론이 URL은 내가 사용하고있는 spesific URL입니다. http://addressbook-api.herokuapp.com. Ember Data는 실제로이 사이트/연락처에 액세스하여 JSON을 가져와야합니다. 나는 네가 잘하는 모든 것을 성공시킬 수 있기를 바란다. 고마워! – TechWisdom

+0

나는 계속해서 놀아 왔고, ContactsRoute의 'model :'속성을 'activate :'로 변경하면 더 나아졌습니다. 오류는 표시되지 않지만 다른 오류는 '# 각 루프가 반드시 배열이어야합니다'라는 메시지를 울립니다. 나는 '모델'을 '활성화'로 바꾸는 의미가 무엇인지 모르지만 오류의 기원을 이해하는 데 도움이되기를 바랍니다. – TechWisdom

답변

1

호스트를 정의 할 때 저장소가 아니라 어댑터에서 정의합니다.

MovieTracker.ApplicationAdapter = DS.RESTAdapter.extend({ 
    host: 'http://addressbook-api.herokuapp.com' 
}); 

또한,이 모델의 ID를 정의해서는 안됩니다, 그것은 기본

MovieTracker.Contact = DS.Model.extend({ 
    first: DS.attr('string'), 
    last: DS.attr('string'), 
    avatar: DS.attr('string') 
}); 

http://emberjs.jsbin.com/OxIDiVU/172/edit

가있다 그리고 타다 남은 데이터의 최신 버전은 웹 사이트에 문서화되어 있지 않습니다 그러나 전환 문서는 뉘앙스와 변화의 일부를 설명하는 데 도움이되어야합니다.

https://github.com/emberjs/data/blob/master/TRANSITION.md

+0

정말 고마워요! 그것은 나의 문제를 명확히 해결했다! !! 당신의 노력에도 Gogu와 Deewendra에 감사드립니다! – TechWisdom

관련 문제