我正在尝试按照此处的指南进行操作,该指南仅在过去3个月内有效 - https://gist.github.com/machty/5723945
所以我的代码是这样的:
App.UsersRoute = Em.Route.extend
beforeModel: (transition) ->
alert('before')
model: ->
App.User.find({}).then (response) ->
# my code here parses response and sets it
self.controllerFor('users').set('content', response.users)
# for some reason i need to at least return an array
[]
events:
error: (error, transition) ->
alert(error.message)
但是事件下的错误回调永远不会被触发。我强制服务器返回500服务器错误。
也没有触发beforeModel(或afterModel)。
答案 0 :(得分:3)
如何使用Ember和EmberData的最新版本执行此操作的示例:
App = Ember.Application.create({});
App.User = DS.Model;
App.IndexRoute = Ember.Route.extend({
beforeModel: function(){
alert('before');
},
model: function() {
this.store.find('user', {}).then(function() {
alert('response');
}, function() {
alert('error');
});
}
});
可以在promise(reject
)的第二个(then
)回调中处理错误。