资源路径参数未传递给Route

时间:2014-06-16 15:19:17

标签: ember.js ember-data ember-cli

以某种方式,参数user_id未传递给我的UserIndexRoute。可能出现什么问题?

我得到的错误是

  

断言失败:您不能将undefined作为ID传递给商店   找到方法

  • 请求是/ users / 1
  • ID为1的用户确实存在于其模型灯具中
  • 我的应用中没有其他错误,用户路线正在运行并显示用户的fixturedata

router.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);
    }
});

1 个答案:

答案 0 :(得分:7)

您已在用户路由上定义了动态slug,user_id,但之后您尝试在usersindex路由上访问它。儿童路线不会从其父资源继承params。创建一个用户路由,它将在那里可用。