完成イメージ図
サイドバーにカーソルを合わせると、バーが広がるようboostrap
を用いて実装する。
このデザインはここを参考に作成した者なので、細かいのはここで参照。
実装
アプリケーションヘルパーにて、現在のコントローラーが例えばadmin/boards path
と一致しているときは、active
を返すよう定義する。
定義するとclass: "nav-link active"
となるので、アクティブになる。
application_helper.rb
def active_if(path)
path == controller_path ? 'active' : ''
#条件式 ? 条件が正しいときの値 : 条件が間違っているときの値
end
sidebar.html.rb
# 省略
<li>
<%= link_to admin_boards_path, class: "nav-link #{active_if('admin/boards')}" do %>
<i class="nav-icon far fa-file"></i>
<p>
<%= "掲示板"%>
</p>
<% end %>
</li>
<li>
<%= link_to admin_users_path, class: "nav-link #{active_if('admin/users')}" do %>
<i class="nav-icon far fa-user"></i>
<p>
<%="ユーザー"%>
</p>
<% end %>
</li>