如何在Ember中正确编辑路线?

时间:2015-09-11 20:30:19

标签: ember.js

我有一个应用程序,我想命名一个特定的路由。但我看到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的结果:

enter image description here

但是,如果我重新加载路线,我会得到:

enter image description here

1 个答案:

答案 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() {
});

然后,您可以分别通过campaignv2.campaign来引用v1和v2路线。