Для тих, хто використовує Ruby on Rails або будь-який інший скрипт на стороні сервера, вам потрібно буде скористатися anchor
параметром на шляхах. Це тому, що коли сторінка завантажується, у неї немає доступного хешу URL-адрес. Ви хочете надіслати правильну вкладку за допомогою посилання або подання форми.
<%= form_for @foo, url: foo_path(@foo, anchor: dom_id(foo)) do |f| %>
# Or
<%= link_to 'Foo', foo_path(@foo, anchor: dom_id(foo)) %>
Якщо ви використовуєте префікс, щоб запобігти переходу вікна на id:
<%= form_for @foo, url: foo_path(@foo, anchor: "bar_#{dom_id(foo)}") do |f| %>
Тоді ви CoffeeScript:
hash = document.location.hash
prefix = 'bar_'
$('.nav-tabs a[href=' + hash.replace(prefix, '') + ']').tab 'show' if hash
$('.nav-tabs a').on 'shown.bs.tab', (e) ->
window.location.hash = e.target.hash.replace '#', '#' + prefix
Або JavaScript:
var hash, prefix;
hash = document.location.hash;
prefix = 'bar_';
if (hash) {
$('.nav-tabs a[href=' + hash.replace(prefix, '') + ']').tab('show');
}
$('.nav-tabs a').on('shown.bs.tab', function(e) {
window.location.hash = e.target.hash.replace('#', '#' + prefix);
});
Це повинно працювати в Bootstrap 3.