[英]Ruby use conditional operator to check current path
我正在嘗試創建一個導航欄,突出顯示我所在頁面上的li
項目。
在我的下面的代碼中,我試圖使用條件運算符來查看當前路徑是否正確。 或者至少那是我認為我正在做的事情。
<li id="home-link" data-hook class="<%= root_path ? "active" : "" %>"><%= link_to Spree.t(:Home), spree.root_path %></li>
<% if spree_current_user %>
<li id="home-link" data-hook class="<%= products_path ? "active" : "" %>" ><%= link_to Spree.t(:products), spree.products_path %></li>
<% end %>
那么,什么我希望發生的是,如果我的主頁上li
GET在班上是active
,
目前發生的是所有li
項目使該類活躍。
如何查看當前路徑?
不,您正在測試路徑助手是否為true
,並且它們返回String
。 這就是為什么active
總是被設定的原因。
看看current_page? :
<% product_active = 'active' if current_page?(controller: 'products', action: 'index') %>
<li id="home-link" data-hook class="<%= product_active %>">
編輯:正如@NensiMakawana所說,您也可以使用active_link_to gem。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.