我有一个用户,聊天和消息模型,可以在我们的应用中创建聊天功能。
用户:
messages: DS.hasMany 'message'
chat: DS.hasMany 'chat'
聊天:
users: DS.hasMany 'user'
messages: DS.hasMany 'message'
消息:
user: DS.belongsTo 'user'
chat: DS.belongsTo 'chat'
message: DS.attr 'string'
在这种情况下,我已经有一个chat
和一个user
对象,而我想要做的就是在此聊天中创建一个属于发送用户的message
它
我使用以下方法:
controller = Ember.ObjectController.extend Ember.Evented,
needs: 'application'
app: Ember.computed.alias 'controllers.application'
actions:
sendMessage: ->
content = Ember.$('.new-message input').val()
message = @store.createRecord 'message', message: content
message.set 'user', @get 'app.model.user'
message.set 'chat', @get 'model'
message.save().then =>
console.log "done"
但是会导致以下错误:
Uncaught Error: Assertion Failed: Cannot call get with 'isEmpty' on an undefined object
使问题消失的两件事:
message.set 'chat', @get 'model'
行