是否有任何优雅的方式显示有效的超链接样式?

问题描述 投票:0回答:1

也许我错过了一些东西,但是我发现很难在rails中显示条件属性。许多程序员使用辅助方法来实现此目的,但这似乎仍然是一项繁琐的任务。我想知道是否有人有一种优雅的方法来实现这一目标。

要清楚地说,我们有一些如下的css组件(此示例来自github开源css框架:https://primer.style/css/components/navigation),所以我将如何更改'aria-current': 'page'属性?

<nav class="UnderlineNav UnderlineNav--right">
  <div class="UnderlineNav-body">
    <a class="UnderlineNav-item" href="#url" aria-current="page">Item 1</a>
    <a class="UnderlineNav-item" href="#url">Item 2</a>
    <a class="UnderlineNav-item" href="#url">Item 3</a>
    <a class="UnderlineNav-item" href="#url">Item 4</a>
  </div>
</nav>
ruby-on-rails ruby
1个回答
0
投票

最后,我通过以下辅助方法解决它。如果你们还有其他简单的方法,请告诉我。非常感谢。

def active_header_link(text, slug, options)
    if current_page? slug
      link_to text, slug, {'aria-current': 'page'}.merge(options)
    else
      link_to text, slug, options
    end
  end

然后,在必要时调用它,就这样

<%= active_header_link node.name, node_path(node.slug), class: 'UnderlineNav-item' %>
© www.soinside.com 2019 - 2024. All rights reserved.