是否使用Current_Page?将“活动”类添加到导航链接

nimxete2  于 2022-09-21  发布在  Ruby
关注(0)|答案(1)|浏览(176)

目标

对导航链接应用不同的类,以显示用户当前所在的页面。

方法

查看:

<div>
    <%= link_to "Work", work_path, class: active_class(work_path) %>
    <%= link_to "About", about_path, class: active_class(about_path) %>
  </div>

帮助者:

def active_class(link_path)
        current_page?(link_path ) ? "active" : ""
    end

路线:

root 'pages#work'

结果

  • “Active”类不适用于“/”(FAIL)上的“Work”链接-->我如何纠正这一点?
  • “active”类应用于“/work”上的“work”链接(成功)
  • “Active”类应用于“About”上的“About”链接(成功)
ttp71kqs

ttp71kqs1#

可能是这样的:

def active_class(*paths)
  "active" if paths.any? { |path| current_page?(link_path) }
end

如果需要,您可以通过root_path

<%= link_to "Work", work_path, class: active_class(work_path, root_path) %>
<%= link_to "About", work_path, class: active_class(about_path) %>

相关问题