sails.getRouteFor()
指定されたターゲット(例: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()
を使用することをお勧めします。