Answering here for completeness.
You can do this 2 ways. Define the regular expression using route()
, as in the question. However, due to this bug you would need to define all your routes via the route()
method, and in reverse order (catchall at top). This prevents you from using the routes hash, so (my) preferred method is:
routes: {
'users/search': 'searchUsers',
'users/:id': 'loadUser',
'*notFound': 'notFound'
}
The key '*notFound'
can actually be anything starting with *
. You just require characters after the *
to prevent a parsing error.