My point was I believe you are using a named routes vs. link and suggesting you use use link_to_route, per your example you have 'jobs' which leads me to believe you using a named route which why I suggest use link_to_route vs. _link_to. That said, as it is generating a url it might be already be resolving it for you.
The 3rd array only available in link_to_route, as far as I know, is available to pass parameters to pass to the named route.
I've not really used BS tabs, but I don't see state based attributes in your li i.e. role="tab" data-toggle="tab". Keep in mind it has to store state and make the association between the two. So the tabs might move, but I suspect that is CSS and not JS, don't know.
Per your tab question JS doesn't really store state well unless you build objects with _proto and use it to store states, not really an issue with level 1 tabs. I've not used BS but I suspect if you are having linking problems it will most likely be associated with a BS directive state requirement. ReactJS and Angular both have state libraries. You don't really need these until you go one level deep in tab structure i.e. click tab 1, now click tab 1.2., now want to click tab 2 and later go back to 1.2. Doing that in anything other than React, Angular, etc. will be difficult, but not impossible.
Not this will be helpful as it has little context, but in Angular this would be the start of a my tab code, my point for showing you this is you can see the power in being able to manage and track to, from, etc. states with tabs. That said, ReactJS does a brilliant job as well of managing state,
angular.module('app', ["ui.router", "projectData", "projectsList"])
.config(function($urlRouterProvider){
$urlRouterProvider.otherwise("/projects/p1");
})
.run(function($rootScope, $state){
$rootScope.$state = $state;
$rootScope.$on('$stateChangeError', function(event, toState, toParams, fromState, fromParams, error){
console.log("StateChangeError:", error)
});
});