我在使用linkTo Handlebar助手工作时遇到了问题
我已经设置了这条路线:
this.resource("contact", function(){
this.route('new');
this.route('show', { path: "/:contactid" });
this.route('edit', { path: "edit/:contactid" });
}
在我的模板中,我有以下代码:
{{#each entry in controller.entries}}
{#linkTo "contact.show" entry href="true" }}test {{firstname}} {{lastname}}{{/linkTo}}
{{/each}}
结果链接是/ contact / show / undefined
我做错了什么?
旁注:我没有使用Ember.Data和模型。
答案 0 :(得分:1)
Ember希望参数遵循惯例modelname_id
,因此路线应更改为:
this.resource("contact", function(){
this.route('new');
this.route('show', { path: "/:contact_id" });
this.route('edit', { path: "edit/:contact_id" });
}
这应该有效,假设entry.get("id")
已定义。
有关详细信息,请参阅http://emberjs.com/guides/routing/specifying-a-routes-model/。
答案 1 :(得分:0)
在路由器中实现serialize以覆盖id的默认行为。例如,我的路线如下:
this.route( 'date', { path: '/:begin/:end'} );
,路线看起来像
Em.Route.extend( {
serialize: function( model, params ) {
return { begin: model.begin.valueOf(), end: model.end.valueOf() };
}
} );