Я пытаюсь создать запись «note» с createRecord. Когда я передаю его в свое действие, он правильно создает запись, но только создает атрибут «body», который я передаю, а не идентификатор или временные метки. Тем не менее, он создает эти атрибуты после обновления. Моя проблема заключается в том, что я хочу, чтобы она создавала их, как только я нажимаю кнопку «Создать», поэтому я могу сортировать по убыванию и удалять заметку, не обновляя ее каждый раз.Ember createRecord не создает id
Мой контроллер:
import Ember from "ember";
export default Ember.ArrayController.extend({
actions: {
newNote: function() {
var body = this.get('noteCopy');
var note = this.store.createRecord('note', { body: body });
this.set('noteCopy', '');
note.save();
},
deleteNote: function(id) {
this.store.find('note', id).then(function(note) {
note.deleteRecord();
note.save();
});
}
}
});
Мой шаблон:
{{textarea placeholder="Add a note!" value=noteCopy class='newNoteArea'
autofocus=true}}<br>
<button class='createNoteButton'{{action 'newNote'}} style='font-size:2em'>Save Note</button><br><br>
<br>
{{#each note in model}}
<div class="noteShow">
{{note.body}}<br>
<img src="assets/erase.gif" alt="" class='deleteNoteButton'{{action 'deleteNote' note.id}} style='width:4em'/>
</div>
{{/each}}
{{outlet}}
Мой сервер выполняет сортировку должным образом после того, как нота создает временные метки атрибуты ... Но так как я получаю
id: null, body: "some body", created_at: undefined, updated_at: undefined
каждый раз, когда я создаю новое примечание, он не делает ничего, что должен, пока я не обновляюсь. Мне пришло в голову, что это может быть проблемой с обещаниями, но, пытаясь реализовать некоторые строки .success() и .then(), я чувствую, что это не так.
Простите меня, если это вопрос новичков, но я до сих пор совершенно новый для Ember. Любой вход оценивается. Благодаря!
* Он не делает ничего, что предполагается * Что он должен делать? В качестве старта вместо того, чтобы передавать «note.id» в форме действия шаблон, просто передайте «примечание», а затем в обработчик действия, пропустите «this.store.find» и просто выполните «deleteRecord». –
Можете ли вы поместить свое определение модели 'note'? – GJK
См. Следующее http://stackoverflow.com/a/29018979/908842 – Kalman