我正在尝试检索单个记录 - 用户的“注释”。
这是在路线:
this.store.find('note', {user_id: App.user.id}).then(function (note) {
window.console.log(note, arguments);
App.set('note', note.content[0]);
});
当记录已存在时,它可以正常工作但我想创建一个新记录,以便以后在API不返回任何内容时保存。
我已在指南中阅读此页面,但没有关于故障处理的内容:http://emberjs.com/guides/models/finding-records/
REST API在找不到记录时需要返回什么?
如何正确且具体地处理此结果,以便当store.find不返回模型时我可以调用store.createRecord?
答案 0 :(得分:0)
在有关承诺的问题中找到答案here。
store.find返回一个promise,这就是我需要搜索的内容,而不是试图搜索如何处理find()
失败。
结果代码如下:
store.find('note', {user_id: App.user.id}).then(function (note) {
App.set('note', note.content[0]);
}, function () {
App.set('note', store.createRecord('note', {user_id: App.user.id, user: App.user}));
});