簡體   English   中英

Ruby使用條件運算符來檢查當前路徑

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM