2014-12-02 5 views
0

컨트롤러와 모델이 있습니다. 나는 ({ 컨트롤러 내 Ember 모델 데이터에 액세스 할 수 없습니다.

App = Ember.Application.create({}); 


App.Router.map(function() { 
    this.resource('assignment',{path:'about'}); 
}); 


App.AssignmentAdapter = DS.RESTAdapter.extend({ 


    findQuery: function(store, type, queryData) { 

     var findQueryURL = 'http://local_env.mhhe.com/openapi/lms/coversheet/sectionid/241409387/assignmentid/14706368/userid/61/isangelinstallation/false/returnUrl/bb'; 
     return this.ajax(findQueryURL, 'POST', { 
      data: queryData.query 
     }) 
    } 

}); 

App.AssignmentRoute = Ember.Route.extend({ 
    model: function() { 
    return this.store.findQuery('assignment','1'); 
    }, 
}); 
    var attr = DS.attr; 

App.Assignment = DS.Model.extend({ 
assignmentId: attr('number'), 
sectionId:attr('number'), 
assignmentType:attr('string'), 
assignmentTitle:attr('string'), 
assignmentStartDate:attr('string'), 
assignmentStartTime:attr('string'), 
assignmentDueDate:attr('string'), 
assignmentDueTime:attr('string'), 
isMarathonChain:attr('boolean'), 
assignmentTimeLimit:attr('number'), 
assignmentTimeRemaining:attr('number'), 
marathonAssignmentStatus:attr('string'), 
showAssignmentAttemptsAndPasswordDetails:attr('boolean'), 
assignmentAttemptsTaken:attr('number'), 
assignmentAttemptsAllowed:attr('number'), 
showPasswordForm:attr('boolean'), 
isStartAssignment:attr('boolean'), 
isResumeAssignment:attr('boolean'), 
isSubmitAssignment:attr('boolean'), 
passwordRequired:attr('boolean'), 
isConvertToGeniusEnabled:attr('boolean'), 
draftNumber:attr('number'), 
studentExceptionExistsForDueDate:attr('boolean'), 
isPastUploadDate:attr('boolean'), 
showMarathonPrerequisiteInfo:attr('boolean') 
}); 

App.AssignmentController = Ember.ArrayController.extend({ 

    displayAssignments: function(){ 
     var assignments = this.get('model.assignment'); 
     // i also tried this.store.find but that also didnt gave me the output 
     return assignments; 

    }.property('model.assignment'), 
}); 

지금 내가이 컨트롤러 내에서이 모델에 액세스하려고이 App.AssignmentController = Ember.ArrayController.extend 같은 컨트롤러 내부 모델에 액세스하려고하지만 난 그것을 액세스 할 수 없습니다입니다. 여기이 컨트롤러에 내가 몇 가지 추가 조건을 조작되고 어떤 조건을 확인하기 위해 내 템플릿에 사용합니다.

답변

0

귀하의 model 후크가 promise, object 또는 array가 반환 될 것으로 예상 (당신은 return 문을 생략).

model: function() { 
    return this.store.findQuery('assignment','1'); 
} 

http://emberjs.com/guides/routing/specifying-a-routes-model/

+0

나 또한 이런 짓을하지만, 이제 난 내 컨트롤러에서 어떤 일을 받고 있지 않다. 그것은 정의되지 않은 반환됩니다. 한 번 더 내가 그 컨트롤러에 와서 내 모델이 설정되지 않은 상태에서 일단 F8을 누르고 내 모델이 모든 값으로 설정되면 그 컨트롤러에 디버그 포인트를 두는 것에 주목합니다. 이것이 문제가 될 수 있습니까? –

관련 문제