非常抱歉这是一个如此简单的问题,但是由于我对RoR的知识基本上是零,所以我自己无法解决它。在我正在使用的Rails应用程序中,已经使用了导航帮助程序来突出显示活动菜单:
def nav_link(link_text, link_path, ico_path)
class_name = current_page?(link_path) ? 'active' : nil
content_tag :li do
link_to(link_path, class: class_name) do
image_tag("icons/#{ico_path}.svg") + content_tag(:span, link_text)
end
end
end
情况已经发生了变化,current_page?
不再是一种可行的选择,因为路由现在在前端处理。是否有一种方法可以通过检索当前url并将其与link_path
进行比较来实现相同的功能?我尝试过很多东西,使用不同的帮助程序,如request.original_url
,但都没有成功。
controller.class == GraphsController
来突出显示导航项,但我可能误解了你的问题。 - Undocurrent_controller
这样的帮手才能使它工作。或者硬编码每个菜单的每个状态为“活动”。 - curious_gudleif