【问题标题】:rails check if current page is included in array (to active nav var)rails 检查当前页面是否包含在数组中(到活动导航 var)
【发布时间】:2017-12-01 10:19:19
【问题描述】:

我是 Rails 编程的初学者。 这是我在 sof 中的第一个问题。 当当前页面包含在链接数组中时,我想给我的导航 var“活动”类。

我知道如何在 application_helper.rb 中检查 1:1

def is_active?(path)
   current_page?(path)? "active" : ""
end

据我所知,current_page?(x) 方法只显示真/假。

如何签入数组?

例如:

<li class="<%= is_active?([a_1_path,a_2_path,a_3_path]) %>">

我试过了:

def is_active?(paths)
    y=0
    for x in paths
        current_page?(x)? (y=1): ""
    end
    y=1? "active":""
end  

但这会使 nav var 中的所有菜单都处于活动状态。

我是否必须在一个页面中呈现其他页面才能控制和保持多个页面之间的 nav var 中的活动类?

【问题讨论】:

  • is_active?([a_1_path,a_2_path,a_3_path],您发送的路径不止一个,因此在 is_active? 中,您需要遍历每个路径以进行检查。
  • 不确定你想要什么标题,也可以通过其他方式完成。

标签: ruby-on-rails


【解决方案1】:
def is_active?(paths)
  paths.include?(request.path) ? "active" : ""
end

【讨论】:

    【解决方案2】:

    试试这些

    <li class="<%= [a_1_path,a_2_path,a_3_path].include?(#current_page_path) ? 'active' : '' %>">
    

    【讨论】:

    • 感谢您的回答。我想知道如何准确地编写 current_page_path 。当我写 current_page rails 说 -> 你的意思是:current_page?
    猜你喜欢
    • 1970-01-01
    • 2022-07-25
    • 2021-02-01
    • 2012-06-21
    • 1970-01-01
    • 2011-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多