1

不知何故,参数user_id没有被传递给我的 UserIndexRoute。可能出了什么问题?

结果我得到的错误是

断言失败:您不能将undefinedid 作为 id 传递给 store 的 find 方法

  • 请求是 /users/1
  • id 为 1 的用户确实存在于其模型装置中
  • 我的应用程序中没有其他错误,用户路线正在工作并为用户显示fixturedata

路由器.js

var Router = Ember.Router.extend({
  location: DaappEmber2ENV.locationType
});

Router.map(function() {
  this.resource('users', function(){
    this.resource('user', { path:'/:user_id' }, function(){
        this.route('edit');
    });
    this.route('create');
  });
});

导出默认路由器;

路线/用户/index.js

export default Ember.Route.extend({
    model: function(params){
        Ember.Logger.debug('Params for user/index route:', params);
        return this.store.find('user', params.user_id);
    }
});
4

1 回答 1

7

您已经在 users 路由上定义了一个动态 slug user_id,但随后您尝试在 usersindex 路由上访问它。子路由不从其父资源继承参数。创建一个用户路线,它将在那里可用。

于 2014-06-16T17:41:06.273 回答