关于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>
我的问题是我渲染包含表格的’地址’.通过提交此表单,我最终会使用不同的控制器.使用此控制器保存新地址后,我想重定向到此页面并显示地址选项卡.
我尝试的重定向命令是:redirect_to salon_path(@ salon.id.to_s“#tab9”)
这导致调用url … / salons / 1#tab9.我认为我需要它… / salons / 1#tab9.
但也许你有一个更好的解决方案如何选择一个特定的选项卡.
使用:
gem 'rails','3.2.3' gem 'bootstrap-sass','2.0.3'.
解决方法
我可以自己搞清楚,这篇文章让我走上了正确的轨道:
How to get Twitter-Bootstrap navigation to show active link?
<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>
在我的例子中,我称之为:
redirect_to salon_path(@salon.id,tab:"tab9")