2014-10-18 134 views
1

我一直在努力使這項工作無數小時。我無法找到我可以在網絡上理解的答案。像我這樣的初學者其他可能有,我有,所以我張貼我的問題同一個問題:無法創建新記錄

我有我的灰燼應用此錯誤: 未捕獲的錯誤:斷言失敗:您只能添加一個'用戶'記錄到這種關係

我試圖創建一個「Cond」的新記錄。但是我無法將'user'對象添加到新創建的Cond實例的用戶屬性中。但是,從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); – 2014-10-18 14:39:17