有什么优雅的方式来显示活动的超链接样式吗



也许我错过了一些东西,但我发现在rails中显示条件属性非常困难。许多程序员使用helper方法来实现这一点,但这似乎仍然是一项乏味的任务。我想知道是否有人有一个优雅的方法来实现这一点。

为了清楚起见,假设我们有一些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>

最后,我用一个helper方法来解决它,如下所示。如果你们有其他简单的方法,请告诉我。非常感谢。

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' %>

最新更新