Rails 3.2.3 + Twitter Bootstrap + Nav-Tabs:如何显示特定标签?

Mar*_*zen 7 ruby twitter-bootstrap twitter-bootstrap-rails

关于rails和bootstrap的另一个新手问题.

我使用的是这样的东西:

<div class="tabbable tabs-left">
<ul class="nav nav-tabs">
    <li class="active"><a href="#tab1" data-toggle="tab">About us</a></li>
            <li><a href="#tab9" data-toggle="tab">Address</a></li>
</ul>
<div class="tab-content">
    <div class="tab-pane active" id="tab1">
        <%= render 'about_us' %>
    </div>
    <div class="tab-pane" id="tab9">
        <%= render 'address' %>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我的问题是我渲染包含表格的'地址'.通过提交此表单,我最终会使用不同的控制器.使用此控制器保存新地址后,我想重定向到此页面并显示地址选项卡.

我尝试的重定向命令是:redirect_to salon_path(@ salon.id.to_s +"#tab9")这导致调用url .../salons/1%23tab9.我认为我需要它.../salons/1#tab9.

但也许你有一个更好的解决方案如何选择一个特定的选项卡.

使用:

gem 'rails', '3.2.3'
gem 'bootstrap-sass', '2.0.3'.
Run Code Online (Sandbox Code Playgroud)

Mar*_*zen 12

我可以自己解决这个问题,这篇文章让我走上了正确的轨道:如何让Twitter-Bootstrap导航显示活动链接?

<div class="tabbable tabs-left">
<ul class="nav nav-tabs">
    <li class="<%= 'active' if params[:tab] == 'tab1' %>"><a href="#tab1" data-toggle="tab">About us</a></li>
    <li class="<%= 'active' if params[:tab] == 'tab9' %>"> <a href="#tab9" data-toggle="tab">Address</a></li>
</ul>

<div class="tab-content">
    <div class="<%= if (params[:tab] == 'tab1' || !params[:tab])then 'tab-pane active'  else 'tab-pane' end%>" id="tab1">
        <%= render 'about_us' %>
    </div>
    <div class="<%= if params[:tab] == 'tab9' then 'tab-pane active'  else 'tab-pane' end%>" id="tab9">
        <%= render 'address' %>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

在我的例子中,我称之为:

redirect_to salon_path(@salon.id, tab:"tab9")
Run Code Online (Sandbox Code Playgroud)