Обычный трюк, который используется для изменения внешнего вида меню для отображения текущей страницы, - это поместить селектор или класс CSS, который отражает имя страницы, в теге body.
Как только вы это сделаете, вы можете создавать разные стили для каждого варианта имени страницы, который вы хотите.
Например:
<!-- @page_name is 'home' in this example -->
<body class="<%= @page_name %>">
<!-- Lots of html here -->
<div class="nav_links">
<ul id="nav">
<li class="home"><a href="/"><span>Home</span></a></li>
<li class="about_us"><a href="/about"><span>About us</span></a></li>
<li class="store"><a href="/store"><span>Shop</span></a></li>
</ul>
</div>
Тогда CSS может быть чем угодно, но что-то вроде:
body.home div.nav_links ul li.home { /* blah blah */ }
body.about_us div.nav_links ul li.about_us { /* blah blah */ }
Этот метод обеспечивает хорошее разделение задач: визуальные стили (изменение ваших цветов) остаются в ваших таблицах стилей и вне вашего кода.