繁体   English   中英

如何强制输入路线参数?

[英]How to enforce typing of route params?

我设置了以下路径:

this.resource('areaManagement',    { path: '/management/areas' }, function() {
  this.route('assign',    { path: '/assign' });
  this.route('new',       { path: '/new' });
  this.route('subdivide', { path: '/:id' });
});

如果您想创建一个新区域,则可以转到/management/areas/new ,但是在测试中,我不小心转到了/management/areas/create并且没有抛出任何错误。 然后我意识到,此路径与subdivide动态细分匹配。

如果这是动态细分的工作方式,那么从技术上讲, /management/areas/anythingyouwant将是有效/可识别的路径。 如果:id不是整数,我总是可以实现model()挂钩和重定向/错误,但是有没有办法使路由器强制执行此操作?

我认为一个“简单”的解决方法是通过添加一个新的嵌套级别

path: '/id' 

具有类似

/management/areas/id/1

不一定理想,但会在这里为您提供帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM