我有一个应用程序,我想命名一个特定的路由。但我看到Ember渲染了祖先路线(同样命名)。
详情
Ember 1.12.0
路线
this.resource('campaign', { path: ':campaign_id' }, function() {
// some more routes
});
this.resource('campaign_v2', { path: 'v2/:campaign_id' }, function() {
// new routes
});
广告系列模板中的链接
{{link-to "Check out V2!" "campaign_v2" classNames="btn btn-primary"}}
测试
期待:访问campaign.index并点击“Check out V2!”时,我希望将其带到campaign_v2.index
结果:我参加了campaign_v2.index,但广告系列也提交了
以下是Ember Inspector的结果:
但是,如果我重新加载路线,我会得到:
答案 0 :(得分:1)
请勿使用resource
帮助程序,而是使用route
帮助程序。此外,您可以考虑使用路由命名空间(而不是_v2后缀)。
<强>路线强>
this.route('campaign', { path: ':campaign_id' }, function() {
// more routes
});
this.route('v2', function() {
this.route('campaign', { path: ':campaign_id' }, function() {
});
然后,您可以分别通过campaign
和v2.campaign
来引用v1和v2路线。