我有一个提交给我的 PlaylistController 上的方法的表单。从该表单提交中,我创建了一个歌曲记录并提交它。正在发生的事情是所有提交工作正常。一条新记录被保存并提交。我可以执行 App.Song.find() 并查看内容已更新。
但是第二次提交出错了。提交实际上是作为新记录提交的,当我转到模型时,我发现它存储了另一个新值。但是,当我尝试在 find() 上使用 .get('lastObject') 时,我得到了第一个提交。第三次提交返回第二次,依此类推。
这是我的代码:
// create song in Song model first
new_song = App.Song.createRecord({
name: 'test name',
artist: 'test username',
soundcloud: '/tracks/'
});
new_song.get('store').commit();
//can't return the song ID when commiting, so need to manually find it
// find all songs, return last result
last_song = App.Song.find().get('lastObject');
console.log(last_song);
这是一个 console.log(songs_array.get('last_song')); 输出这个:
Object {id: "ember914", clientId: 30, type: function, data: Object, record: Class}
Object {id: "ember914", clientId: 30, type: function, data: Object, record: Class…}
Object {id: "ember1200", clientId: 31, type: function, data: Object, record: Class…}
Object {id: "ember1408", clientId: 32, type: function, data: Object, record: Class…}