Edit Page

sails.getRouteFor()

Look up the first route pointing at the specified target (e.g. MeController.login) and return a dictionary containing its method and URL.

sails.getRouteFor(target);

Usage

#
Argument Type Details
1 target String The route target string; e.g. MeController.login

Returns

#

Type: Dictionary

{
  method: 'post',
  url: '/auth/login'
}

Example

#

In a controller action...

return res.view('pages/some-page-with-a-form-on-it', {
  formEndpoint: sails.getRouteFor('SomeotherController.someAction'),
  // ...
});

So that in the rendered view...

<form action="<%=formEndpoint.url%>" method="<%=formEndpoint.method%>">
  <!-- ... -->
</form>

Notes

#
  • This function searches the Sails app's explicitly configured routes; sails.config.routes. Shadow routes bound by hooks (including blueprint routes) will not be matched.
  • If a matching target cannot be found, this function throws an E_NOT_FOUND error (i.e. if you catch the error and check its code property, it will be the string E_NOT_FOUND).
  • If more than one route matches the specified target, the first match is returned.
  • If you only need the URL for a route (e.g. to use as an href from within one of your views), you may want to use sails.getUrlFor() instead of this function.

Is something missing?

If you notice something we've missed or could be improved on, please follow this link and submit a pull request to the sails repo. Once we merge it, the changes will be reflected on the website the next time it is deployed.

Reference

Reference