Ember教程 - 向router.js添加新路由

时间:2013-12-09 14:41:21

标签: javascript ember.js

我一直在做本教程,试着自学英语 -

http://coding.smashingmagazine.com/2013/11/07/an-in-depth-introduction-to-ember-js/

我已经成功地完成了它并且现在正试图将它充实并增加我自己的功能,但我是新手,并且在弄清楚它时遇到了一些麻烦。原始教程是一个用户集合的CRUD应用程序。我现在想要扩展应用程序以处理这些用户可能研究的主题列表。我正在完成这些步骤,但是在确定如何修改router.js文件以使其包含我的新subject路由时遇到了一些麻烦。路由器看起来像这样 -

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

任何人都可以告诉我在添加第二条路线时应该怎么看?当我指的是多条路线时,我被this包含在内。感谢。

1 个答案:

答案 0 :(得分:3)

如果您需要按subjects处理user,则需要更改router.js,如下所示:

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

鉴于此路由器文件,您将拥有以下路由:

  • /users
  • /users/:user_id
  • /users/:user_id/edit
  • /users/:user_id/subjects
  • /users/create

如果您只想创建另一条路线,那么:

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

路线:

  • /users
  • /users/:user_id
  • /users/:user_id/edit
  • /users/create
  • /subjects

为了帮助您避免混淆,我建议您使用Ember Extension。它会帮助你很多。