我有以下路由器。
App.Router.map(function() {
this.resource('people', function(){
this.resource('person', { path:'/:person_id' }, function(){
this.resource('addresses', function(){
this.resource('addressTypes');
this.resource('address', { path:'/:address_id' }, function(){
this.route('edit');
});
this.route('create');
});
this.route('edit');
});
this.route('create');
});
这允许我从人们路由 - >人 - >地址。编辑人我会去找人 - >人 - >编辑(人)。要编辑地址我会去:人 - >人 - >地址 - >编辑(地址)。但我想做的是人 - >人 - >编辑 - > addressEdit。也就是说,我想将addressEdit嵌套在(person)编辑路径下,这样如果我转换到链接到子地址的personEdit,我就可以点击地址并直接转到地址编辑。换句话说,虽然人和地址是两个不同的模型,但我希望人物编辑包含地址编辑。
在编辑(人员ID 1),移动到地址(属于人员ID 1的地址ID 11)时,我希望网址看起来像:app /#/ people / 1 / edit / addresses / 11 / edit
这是我在代码中表达失败的失败尝试:
App.Router.map(function() {
this.resource('people', function(){
this.resource('person', { path:'/:person_id' }, function(){
this.resource('addresses', function(){
this.resource('addressTypes');
this.resource('address', { path:'/:address_id' }, function(){
//this.route('edit');
});
this.route('create');
});
//this.route('edit');
this.resource('edit', function(){
this.resource('addresses', function(){
this.resource('addressTypes');
this.resource('addressEdit', { path:'/:address_id' }, function(){
//this.route('edit');
});
this.route('create');
});
});
});
this.route('create');
});
});
将路径('edit')更改为资源('edit'..)会在从/ app / people / 1转换到/ edit时立即中断应用程序:“未找到路径person.edit”。< / p>
你能提供任何指导吗?谢谢。
答案 0 :(得分:0)
resource.route
链接到现在应为edit
。我可能会将其重命名为personEdit
this.resource('personEdit', {path:'edit'}, function(){