我尝试用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
答案 0 :(得分:1)
每个帖子都链接到app2/#post/:post_id
即app2/#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
答案 1 :(得分:0)
不要将帖子资源嵌套在帖子中,请使用:
this.resource('posts');
this.resource('post', { path: '/post/:post_id' });
Ember Routing Guide为不同的案例提供了明确的解释。