在Ember中定义资源路由的正确方法?

时间:2013-02-24 03:16:58

标签: routes ember.js

在指南中,我可以看到两种方法来定义资源的路径,我想知道我应该使用的是什么,以及为什么?


在此处找到:http://emberjs.com/guides/routing/defining-your-routes/

App.Router.map(function() {
  this.resource('posts');
  this.resource('post', { path: '/posts/:post_id' });
});

在此处找到:http://emberjs.com/guides/templates/links/

App.Router.map(function() {
  this.resource("posts", function(){
    this.route("post", { path: "/:post_id" });
  });
});

我发现,当它实际上只是posts资源时,必须定义2个资源postPost,这很奇怪。

1 个答案:

答案 0 :(得分:5)

我相信当你这样做时

App.Router.map(function() {
  this.resource("posts", function(){
    this.route("post", { path: "/:post_id" });
  });
});

它在帖子模板的{{outlet}}内呈现帖子模板..

当你这样做时

App.Router.map(function() {
  this.resource('posts');
  this.resource('post', { path: '/posts/:post_id' });
});

访问/ posts /:post_id

时,帖子模板无法呈现