查找指向指定目标(例如 MeController.login
)的第一个路由,并返回包含其方法和 URL 的字典。
sails.getRouteFor(target);
参数 | 类型 | 详情 | |
---|---|---|---|
1 | target | 路由目标字符串;例如 MeController.login |
类型
{
method: 'post',
url: '/auth/login'
}
在控制器操作中…
return res.view('pages/some-page-with-a-form-on-it', {
formEndpoint: sails.getRouteFor('SomeotherController.someAction'),
// ...
});
以便在渲染的视图中…
<form action="<%=formEndpoint.url%>" method="<%=formEndpoint.method%>">
<!-- ... -->
</form>
- 此函数搜索 Sails 应用中明确配置的路由;
sails.config.routes
。钩子绑定的影子路由(包括 蓝图路由)将不会匹配。- 如果找不到匹配的目标,则此函数会抛出
E_NOT_FOUND
错误(即,如果您捕获错误并检查其code
属性,它将是字符串E_NOT_FOUND
)。- 如果多个路由与指定目标匹配,则返回第一个匹配项。
- 如果您只需要路由的 URL(例如,在您的某个视图中用作
href
),则可以使用sails.getUrlFor()
而不是此函数。