我有部分内容显示在侧边栏中,如下所示
__ side_bar_partials.html.erb
<div class="col-sm-3">
<div class="account-left">
<ul>
<li class="active"><a href="menu1">Menu1</a></li>
<li><a href="menu2">Menu2</a></li>
<li><a href="menu3">Menu3</a></li>
<li><a href="menu4">Menu4</a></li>
<li><a href="menu5">Menu5</a></li>
</ul>
</div>
</div>
现在当我渲染这部分时我需要的是我想在所选菜单上添加css class
有效添加
现在我用正常方式渲染它
<%= render "profile_sidebar"%>
我需要包含在上面的代码中,以便在所选菜单上添加活动类
答案 0 :(得分:2)
基本上你有2个选择。 首先是检查当前页面并突出显示正确的菜单选项。
<div class="col-sm-3">
<div class="account-left">
<ul>
<li class="<%= 'active' if current_page?(menu1_path) %>"><a href="menu1">Menu1</a></li>
<li class="<%= 'active' if current_page?(menu2_path) %>">><a href="menu2">Menu2</a></li>
<li class="<%= 'active' if current_page?(menu3_path) %>">><a href="menu3">Menu3</a></li>
<li class="<%= 'active' if current_page?(menu4_path) %>">><a href="menu4">Menu4</a></li>
<li class="<%= 'active' if current_page?(menu5_path) %>">><a href="menu5">Menu5</a></li>
</ul>
</div>
</div>
但是既然你正在寻找更优雅的方式,我会建议第二种选择:为你的列表元素做一个单独的帮助。带有帮助器的解决方案完美地描述了here。
希望它有所帮助。