我有一個用戶和消息模型看起來像這樣的記錄:灰燼數據關係的表示 - 創建工作不
//models/user.js
export default DS.Model.extend({
name: DS.attr('string'),
});
//models/message.js
export default DS.Model.extend({
body: DS.attr('string'),
sender: DS.belongsTo('user', { inverse: null }),
receiver: DS.belongsTo('user', { inverse: null }),
user: DS.belongsTo('user')
});
這裏是如何的消息/消息路線是這樣的:
//消息/消息/路由。 JS
export default Ember.Route.extend({
model(params) {
return Ember.RSVP.hash({
messages: this.store.query('message', { filter: {user: params.user} }),
user: this.store.findRecord('user', params.user),
});
},
setupController(controller, models) {
controller.set('messages', models.messages);
controller.set('user', models.user);
}
});
,並在router.js我
this.route('messages', function() {
this.route('message', { path: ':user' });
});
因此,基本上,當你去/messages/{user_id}
您可以查看所有當前用戶具有與具有{USER_ID}中的用戶信息。這裏有一個JSON響應訪問messages/5
{
"messages": [
{
"id": 10,
"sender": 1,
"receiver": 5,
"body": "Hello world!",
"user": 5
},
{
"id": 7,
"sender": 1,
"receiver": 5,
"body": "Sorry, I don't get it!",
"user": 5
},
{
"id": 6,
"sender": 5,
"receiver": 1,
"body": "Is it possible?",
"user": 5
}
]
}
當現在要創建一個新的消息沒有發送者,接收者或用戶ID與創建新的記錄相關聯,當我從服務器獲取,爲了將這些發送到服務器。
這就是我必須在有效載荷
{
"body":"New message",
"sender":null,
"receiver":null,
"user":null
}
很清楚我在做什麼錯的關係,不知道如何處理這些。
//編輯
這是我如何處理信息製作:
actions: {
sendMessage() {
const flashMessages = Ember.get(this, 'flashMessages');
this.store.createRecord('message', {
body: this.get('message'),
sender: this.get('currentUser.id'),
user: this.get('user.id'),
}).save().then(() => {
flashMessages.success('Message sent!', {
timeout: 2000,
destroyOnClick: true
});
});
},
}
如何創建新消息?你可以發佈代碼嗎? – Serge
我剛剛編輯OP來包含'sendMessage()'動作 – Sabin