Я использую Rails и у меня есть Bootstrap navbar. Мне нужно сделать так, чтобы в зависимости от того, на какой вкладке панели навигации вы щелкаете («Домой», «OOTD», «Аккаунт»), он каким-то образом выделяется (например, белым текстом). Я попытался динамически заставить его работать, используя active
и даже функцию, которая должна его переключать, но она не работает.
My application.html.erb
, которая содержит мою панель навигации:
<!DOCTYPE html>
<html>
<head>
<title>Finalproj493</title>
<%= csrf_meta_tags %>
<%= csp_meta_tag %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark" style="width: 100%; height: 5vw;">
<ul class="navbar-nav mr-auto nav">
<li class="nav-item">
<a class="nav-link" href="/welcome/index">Home</a>
</li>
<li class="nav-item 1">
<a class="nav-link" href="/ootd">OOTD</a>
</li>
<li class="nav-item 2">
<a class="nav-link" href="/account">Account</a>
</li>
</ul>
</nav>
<br>
<br>
<%= yield %>
</body>
</html>
Я пытался использовать функцию is_active()
для динамического переключения (способ "Rails"), но она не работала. Эта функция находится в моем application_helper.rb
, и я добавил к ней вызов функции в моей навигационной панели (показано выше):
module ApplicationHelper
def is_active(action)
params[:action] == action ? "active" : nil
end
end
Возможно, я поступаю неправильно, но кто-то может предложить простой способ, который включит active
стиль navbar в Rails?