什麼是最好的方法來處理class =「active」問題在Rails中? 我發現如何處理這個單鏈接,但是當模板的不同部分必須設置爲「活動」時,如何處理這個問題? 這裏是我的代碼:紅寶石滑軌在多級菜單中的活動項目
module AdminHelper
def nav_link(link_text, link_path)
class_name = current_page?(link_path) ? 'active' : nil
content_tag(:li) do
link_to link_text, link_path, :class => class_name
end
end
def active_section(section)
request.fullpath.start_with?(section)
end
end
而且在佈局保持菜單:
<% if active_section('/superadmin') %>
<li class="active">
<% else %>
<li>
<% end %>
<a href="#"><i class="fa fa-asterisk fa-fw"></i> Superadmin <span class="fa arrow"></span></a>
<ul class="nav nav-second-level">
<%= nav_link 'Add Account', superadmin_new_account_path %>
<%= nav_link 'List Accounts', superadmin_list_accounts_path %>
</ul>
</li>
也就是說,我需要檢查,如果我在URL結構的特定部分,並輸出li class =「active」在這種情況下。否則,只輸出不帶類的元素li。我正在使用一個菜單; MetisMenu並需要設置此類,以便正確的部分被擴展。
我的代碼有效,但感覺可怕的錯誤方式。 如果有人能夠提供關於如何以正確的方式做到這一點的提示,那真的很開心!