EmberJS嵌套路线未得到解决

时间:2013-02-18 19:52:10

标签: javascript ember.js ember-data

我正在尝试在EmberJS.RC.1构建中构建一个简单的地址簿应用程序,作为学习它的一部分。我的路线没有经过初步检查。这是什么问题? http://jsfiddle.net/Sz6fj/

控制台出错:

  

未捕获错误:断言失败:无法在未定义的对象上使用'id'调用get    - ember-1.0.0-rc.1.js:52

结构

contacts
contacts/new
contacts/<id>
contacts/<id>/edit

代码:

App.Router.map(function(){
  this.resource('contacts', {path: '/'}, function(){
    this.route('new', {path: '/new'});
    this.resource('contact', {path: '/:contact_id'}, function(){
      this.route('edit', {path: '/edit'});
    });//contact
  });//contacts
});

2 个答案:

答案 0 :(得分:2)

这是因为你在模型上没有contact_id。如果您将其更改为主键(id),那么它将正常工作:http://jsfiddle.net/Sz6fj/1/

contact_id确实对外键有特殊用法。

答案 1 :(得分:-1)

试试这个:

App.Router.map(function(){
  this.resource('contacts', {path: '/'}, function(){
    this.route('new');
    this.resource('contact', {path: '/contacts/:contact_id'}, function(){
      this.route('edit');
    });
  });
});