在 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.

希望对您有所帮助。