Ember Route:无法读取未定义的属性“id”

时间:2015-03-07 21:20:13

标签: javascript ember.js

我收到此错误,我正在尝试检索一个不存在的用户:

  

处理路径时出错:user无法读取属性'id'   undefined TypeError:无法读取未定义的属性“id”

我是否可以向用户提供错误消息,说明“用户不存在”或类似的信息通过路线或控制器发送给视图?

继承我的路线

App.Router.map(function () {
    this.resource('user', { path: '/user/:user_id' });
});

在这里我检索用户

App.UserRoute = Ember.Route.extend({
    model: function(params) {
        return this.store.find('user', params.user_id);
    },
});

希望您理解,并可以帮助我继续。谢谢你!

1 个答案:

答案 0 :(得分:1)

因此,我不确定为什么缺少灯具数据会给您带来特定错误,但您可以使用error事件捕获路线中的错误。你可以阅读它here。你必须做这样的事情:

App.UserRoute = Ember.Route.extend({
    model: function(params) {
        return this.store.find('user', params.user_id);
    },
    actions: {
        error: function(error, transition) {
            // Display some sort of message
            alert("Sorry, we couldn't find that user.");
            // Redirect to a different part of the application
            this.transitionTo('index');
        }
    }
});