2013-06-13 7 views
7

Я хочу использовать Togglable Tabs из загрузочного устройства Twitter в Rails, но я не могу заставить его работать.Bootstrap Togglable tabs rails

Вот мое приложение/просмотров/страниц/home.html.erb:

<ul class="nav nav-tabs" id="dashboard_products"> 
    <li class="active"><a href="#owned_products"> 1 </a></li> 
    <li><a href="#borrowed_products"> 2 </a></li> 
    <li><a href="#given_products" > 3 </a></li> 
    <li><a href="#requested_products"> 4 </a></li> 
</ul> 
<div class="tab-content"> 
    <div class="tab-pane active" id="owned_products"> 1 </div> 
    <div class="tab-pane" id="borrowed_products" > 2 </div> 
    <div class="tab-pane" id="given_products" > 3 </div> 
    <div class="tab-pane" id="requested_products" > 4 </div> 
</div> 

И вот мое приложение/активы/JavaScripts/pages.js.coffee:

$ -> 
    $('#dashboard_products a').click = (e) -> 
    e.preventDefault() 
    $(this).tab('show') 

А вот мои приложение/активы/JavaScripts/application.js

//= require jquery 
//= require jquery_ujs 
//= require bootstrap 
//= require turbolinks 
//= require_tree . 

Где я потерпел неудачу?

+0

Вы включили javascript в свои активы? – Parandroid

ответ

11

Вам не хватает тега data-toggle.

Вот пример:

<div class="container-fluid"> 
    <div class="row-fluid"> 
     <div class="span8 well"> 
      <ul class="nav nav-tabs"> 
       <li class="active"> <a href="#home" data-target="#home" data-toggle="tab">Home</a> 

       </li> 
       <li><a href="#profile" data-target="#profile" data-toggle="tab">Profile</a> 

       </li> 
      </ul> 
      <div class="tab-content"> 
       <div class="tab-pane active fade in" id="home">home tab content</div> 
       <div class="tab-pane" id="profile">profile tab content</div> 
      </div> 
     </div> 
    </div> 
</div> 

DEMO

+1

Хорошо, это работает! Но почему руководство по загрузке twitter в [tabs] (http://twitter.github.io/bootstrap/javascript.html#tabs) не отображает вкладку 'data-toggle =" в параграфе методов? –

1

Проверьте, если вы включили bootstrap js ..., а также убедитесь, что вы включили файл сценария кофе после включения бутстрапа js. и скрипт кофе также должен быть после вашего html. поскольку dom должен создать элемент перед закладками init.

+0

Я добавил некоторую информацию в свой вопрос. Все в порядке? –

0

Пример здесь

http://getbootstrap.com/javascript/#tabs

не имеет данных целевой атрибут.

<li role="presentation" class="active"><a href="#home" aria-controls="home" role="tab" data-toggle="tab" data-target="home">Home</a></li> 

Но когда я добавить его

<li role="presentation" class="active"><a href="#home" aria-controls="home" role="tab" data-toggle="tab">Home</a></li> 

Все это работало.