找不到灰烬路线

时间:2014-04-22 06:05:25

标签: ember.js routing

我尝试用emberjs构建一个webapp。这是应用程序路由器:

    App.Router.map(function() {
    this.route("page");
    this.route("menu");
    this.resource('posts', function(){
      this.resource('post', { path: '/:post_id' });
    });
    this.route("index", { path: "/" });
    this.route("cat");
    this.route("foto");
});

这是Postroute:

// GET POST JSON
App.PostRoute = Ember.Route.extend({
  model: function(params) {
    return Ember.$.getJSON('http://www.wilhelminaschool.eu/?json=get_post&post_id='+params.post_id);
  }
});

但是我收到了帖子未找到错误的帖子,帖子列表有效。我做错了什么?

错误: 错误:断言失败:未找到路径帖子/ 11330

活着: http://www.wilhelminaschool.eu/app2/#posts http://www.wilhelminaschool.eu/app2/#post/11330

2 个答案:

答案 0 :(得分:1)

每个帖子都链接到app2/#post/:post_idapp2/#post/11330,但由于post资源已在posts的资源中定义,其路径为{{1}链接应为/:post_id,即app2/#/posts/:post_id

例如,

http://emberjs.jsbin.com/budeyaja/1/edit

http://emberjs.jsbin.com/budeyaja/1请在导航时观察网址

如果您需要链接按原样工作,则必须将路由指定为

app2/#/posts/11330

http://emberjs.jsbin.com/qaquzusi/1/edit

答案 1 :(得分:0)

不要将帖子资源嵌套在帖子中,请使用:

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

Ember Routing Guide为不同的案例提供了明确的解释。