在 rails 部分中添加 css class 的优雅方式
elegant way to add css class in rails partials
我有部分显示在侧边栏中,如下所示
__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"%>
我需要在上面的代码中包含什么,以便它会在所选菜单
上添加活动 class
基本上你有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>
但是由于您正在寻找更优雅的方式,我建议您选择第二个:为您的列表元素做一个单独的帮助程序。完美描述了 helper 的解决方案 here.
希望对您有所帮助。
我有部分显示在侧边栏中,如下所示
__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"%>
我需要在上面的代码中包含什么,以便它会在所选菜单
上添加活动 class基本上你有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>
但是由于您正在寻找更优雅的方式,我建议您选择第二个:为您的列表元素做一个单独的帮助程序。完美描述了 helper 的解决方案 here.
希望对您有所帮助。