簡體   English   中英

創建帶有belongsTo關系錯誤的記錄-Ember.js

[英]Creating record with belongsTo relationship error - Ember.js

給定兩個模型:Message.js和User.js,嘗試使用Ember.js創建記錄時,我不斷收到以下錯誤。 任何Ember.js向導都知道我的代碼有什么問題嗎?

//錯誤:斷言失敗:您只能向此關系添加“用戶”記錄

App.Message = DS.Model.extend({
 title: DS.attr(),
 body: DS.attr(),
 user: DS.belongsTo('user'),
});

App.User = DS.Model.extend({
  first_name: DS.attr(),
  last_name: DS.attr(),
  email: DS.attr(),
  password: DS.attr(),
  messages: DS.hasMany('message'),
});


App.NewMessageController = Ember.Controller.extend({
need: ['application'],
thisUserID: Ember.computed.alias('controllers.application.userID'),

actions: {
    save: function() {
        // Prints -> 'thisUserID' -- all is fine here
        console.log('The user id from new-letter is: '+this.get('thisUserID')); 

        var store = this.store;
        //Prints -> <DS.PromiseObject:ember433> -- Strange?
        console.log("Checking the store: "+store.find('user', this.get('thisUserID'))); 

        var newMessage = store.createRecord('message', {
            title: this.get('title'),
            body: this.get('body'),
        });
        newMessage.save();

        // Prints-> Error: Assertion Failed: You can only add a 'user' record to this relationship
        var user = store.find('user', this.get('thisUserID')).then(function(user) {
          newMessage.set('user', user);
        });
    }
}
});

我不是向導,但是您似乎正在嘗試將用戶記錄設置為消息: newMessage.set('user', user);

相反,您應該添加以下消息: user.get('messages').addObject(newMessage);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM