我有一個簡單的導航欄,如下所示:如何在導航欄位於應用程序模板中時激活選項卡?
<ul class="nav">
<li><a href="<%= index_url %>">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="<%= users_url %>">Users</a></li>
</ul>
哪個是application.html.erb
文件中軌項目的一部分。我想要在當前頁面上設置class="active"
屬性,但由於導航欄位於模板中,導致<%= yield %>
應用程序的其餘部分,因此這很複雜。我如何根據我正在加載的頁面可靠地設置活動選項卡?
... javascript刪除,因爲它是從實際問題分心。
澄清:
滑軌,及包括本導航調用<%= yield %>
和渲染我加載任何視圖之前加載這使得一切application.html.erb
。
我希望「用戶」選項卡在顯示users/index.html.erb文件時具有class="active"
,或者users/show.html.erb(基本上來自用戶模型的任何內容)在那裏正確的軌道方式來做到這一點?
我知道我可以將導航欄移動到每個模型的視圖模板並手動設置活動類,但這不是很「幹」。
您當前的代碼刪除,然後添加類到一個點擊的元素只有 - 你大概的意思'$(」 NAV。 > li「)。removeClass(」active「)'首先從所有'li'中移除類。 – pimvdb
好的,所以我的JavaScript是不正確的,但我原來的問題仍然存在,我怎麼能在導航欄加載後(通過應用程序模板)更改鏈接上的活動類。只要我設置了一個班級並點擊,它將加載新頁面並清除班級設置。 –