views 里有几个 tab 页,比如 A、B、C,默认显示 A,controllers 里怎么样 render tab 页 C,不想用 redirect_to "#{xx_path}#tab_c",因为想在 tab 页 C 直接显示 errors,表述不清,望见谅。
带个变量出去,例如 @tab_name = 'table_c' 然后 Views 里面:
@tab_name = 'table_c'
<ul> <li class="tab<%= ' active' if @tab_name == 'tab_a' %>" id="tab_a">Tab A</li> <li class="tab<%= ' active' if @tab_name == 'tab_c' %>" id="tab_c">Tab C</li> </ul>
通过 CSS 来设置 Tab 页的激活状态
li .tab { display: none; } li .tab.active { display: block; }
剩下的事情自己搞,思路已经给了,不要追问我