Ruby on Railsで静的Webサイトを構築していて、次のようなapplication.html.erbファイルがあります。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>BayEquities</title>
<%= stylesheet_link_tag "application", :media => "all" %>
<%= javascript_include_tag "application" %>
<%= csrf_meta_tags %>
<%= render "layouts/shim" %>
</head>
<body>
<%= render "layouts/header" %>
<div class="container">
<%= yield %>
</div>
</body>
</html>
<script type="text/javascript">
$(function() {
$('.navbar .nav > li > a').click(function(e){
$('.navbar .nav > li.active').removeClass('active')
$(this).parent('li').addClass('active')
});
});
</script>
現在、このコードはアクティブクラスを追加し、それに応じて削除します。唯一の問題は、新しいナビゲーションバーリンクがクリックされるたびにヘッダーの部分(以下のコード)が再ロードされることです。したがって、クリックするたびにアクティブクラスを「ホーム」に適用します。
_header.html.erb
<header class="navbar">
<div class="navbar-inner">
<a class="brand" id="logo">Bay Equities</a>
<ul class="nav">
<li class="active"><%= link_to "Home", "index" %></li>
<li><%= link_to "Services", "services" %></li>
<li><%= link_to "Contact Us", "contact" %></li>
</ul>
</div>
</header>
急いでフォーマット作業をしてしまったことを前もってお詫びします。すべての助けに感謝します!