条件付きロジックをビューから除外し、純粋なCSSを使用してアクティブなナビゲーションアイテムをマークする別のソリューションがあります。高電圧ページを含むすべてのビューで使用できます。
module ApplicationHelper
def body_class
"#{controller_name} #{controller_name}-#{controller.action_name} #{params['id']}"
end
def controller_name
controller.controller_path.gsub('/','-')
end
end
レイアウトからヘルパーメソッドを呼び出す
<body class="<%= body_class %>">
これはあなたにこのようなボディクラスを与えるでしょPagesController#show
うid=plans
<body class="pages pages-show plans">
ナビゲーションのhtmlは次のようになります
<ul class="nav-items">
<li class="home">Home</li>
<li class="plans">Plans</li>
<li class="contact">Contact</li>
</ul>
次に、CSSを使用して、アクティブにしたいナビゲーションアイテムをターゲットにできます
body.home li.home,
body.plans li.plans,
body.contact li.contact {
// styles for active item
}