【发布时间】:2014-10-27 09:18:21
【问题描述】:
我有 2 条路线 - 会话和会话(因为我想在 2 个不同的页面中展示它们)
App.Router.map(function () {
this.route("sessions", { path: "/sessions" });
this.route("session", { path: "/sessions/:session_id" });
}
当我转到:#/sessions - 我得到了一张我画的漂亮桌子,当我点击我创建的链接时
在车把视图中:
{{#each model}}
<tr>
<td>{{#link-to 'session' this}}{{this.id}}{{/link-to}}</td>
</tr>
它有效 - 会话的单独把手被绘制
当我直接转到#/sessions/4 时出现错误:
Assertion Failed: You may not pass "undefined" as id to the store's find method
路线:
App.SessionsRoute = Ember.Route.extend({
model: function() {
return this.store.find('session');
}
});
App.SessionRoute = Ember.Route.extend({
model: function(params) {
return this.get('store').find('session', params.session_id);
}
});
【问题讨论】:
-
你能
console.log你的参数吗?看起来这应该可行。 -
我试过了......它根本没有打印出来(也许这就是问题?)
-
是的,您确定您在路由器中使用
hash吗?也许它只是localhost/sessions/4使用history -
是的...我什至点击地址栏上的“Enter”(只需刷新它)
-
可能只需要
this.resource而不是this.route