내가 같이 사용자와 메시지 모델이 작동하지 않는 레코드를 작성합니다엠버 데이터 관계 표현 -
//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')
});
는 여기에 있습니다. 당신이 /messages/{user_id}
에 갈 때 JS 내가
this.route('messages', function() {
this.route('message', { path: ':user' });
});
이
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에서
그래서 기본적으로 당신은 현재 사용자가 {USER_ID}을 가지고 사용자와이 모든 메시지를 볼 수 있습니다 . 다음 순서로 만든 새 기록을 연결 할 송신자, 수신자 또는 사용자 식별자가 없습니다 새 메시지를 만들려고 할 때 이제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
}
]
}
를 방문 할 때 나는 서버에서 얻을 JSON 응답입니다 이를 서버로 보냅니다.
여기 그것은 내가 관계 문제와 이들을 처리하는 방법을하지 않도록 뭔가를하고있어 분명 내가 페이로드
{
"body":"New message",
"sender":null,
"receiver":null,
"user":null
}
에있을거야.
// 편집
는 여기에 내가 메시지 작성 처리 방법은 다음과 같습니다 메시지 모델, sender
, user
에서
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