2014-10-18 4 views
1

저는이 작업을 수많은 시간 동안 노력하고 있습니다. 나는 웹에서 내가 이해할 수있는 답을 찾을 수 없다.새 레코드를 만들 수 없습니다.

내 엠버 응용 프로그램에서이 오류가 있어요 : 이 catch되지 않은 오류 : 어설 션 실패 : 나 같은 기타 초보자 내가 내 질문에 게시하도록하겠습니다 때문에이 같은 문제가있을 수 있습니다에만 추가 할 수는 ' 이 사용자의 레코드를

"Cond"의 새 레코드를 만들려고합니다. 하지만 새로 만든 된 Cond 인스턴스의 사용자 특성에 'user'개체를 추가 할 수 없습니다. 그러나 Chrome 디버그 도구에서 '사용자'가 null 또는 정의되지 않았 음을 알 수 있습니다. 다음은 충돌하는 컨트롤러입니다.

App.BookController = Ember.Controller.extend({ 
     needs: 'user', 
     user: Ember.computed.alias("controllers.user"), 

     frequency: ['Every Minute', 'Every Hour', 'Every Day', 'Every Week', 'Every Month', 'Every Quarter', 'Every Year', 'Continuous'], 
     selectedFrequency: 'Every Month', 

     actions: { 
     createCond: function() { 

      var user = this.get('user'); 

      var Cond = this.store.createRecord('Cond', { 
      name: this.get('name'), 
      frequency: this.get('selectedFrequency'), 
      description: this.get('description'), 
      createdDate: new Date(), 
      }); 

      Cond.set('user', user); // Application crash her 
      user.addObject('Conds', Cond); 

      Cond.save().then(function() { 
      user.save(); 
      console.log('new Cond created'); 
      }); 
     } 
     } 

    }); 

감사합니다.

답변

1

사용자 컨트롤러를 사용중인 모델은 컨트롤러의 속성입니다.

하나는에 별칭을 변경합니다

user: Ember.computed.alias("controllers.user.model"), 

나에 GET을 변경 : 그것은 큰 노력

var user = this.get('user.model'); 
+0

. 감사합니다 Kingpin2k! 다른 사용자의 이익을 위해 필자는 코드에 'user.addObject ('Conds ', Cond);라는 또 다른 오류가 있음을 유의하십시오. 대신 다음과 같아야합니다 : user.get ('conds'). pushObject (cond); –

관련 문제