我想在Rails应用程序中使用Twitter的Bootstrap中的Togglable Tabs,但我无法使其正常工作。
这是我的 app / views / pages / 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>
这是我的 app / assets / javascripts / pages.js.coffee :
$ ->
$('#dashboard_products a').click = (e) ->
e.preventDefault()
$(this).tab('show')
在这里我的 app / assets / javascripts / application.js
//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require turbolinks
//= require_tree .
我哪里失败了?
答案 0 :(得分: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>
答案 1 :(得分:1)
检查是否包含了bootstrap js ...并在包含bootstrap js后检查是否包含了coffee script文件。和咖啡脚本包括也必须在你的HTML之后。因为dom必须在init标签之前创建元素。
答案 2 :(得分: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>
这一切都奏效了。