Rails link_to 具有相同的页面锚点和 class 名称

Rails link_to with same page anchor and class name

我正在尝试使用 rails link_to 来生成

<a href="/#about" class="leftnav__link">about</a>

我试过了

<%= link_to "about", anchor: "about", class: "leftnav__link" %>

结果是

<a href="/?class=leftnav__link#about">about</a>

锚点出人意料地有效,但 class 名称未正确放置。我错过了什么?

您的示例混合了 optionshtml_options 参数 (docs)。 如果你想 link 到 / 页面上的关于元素,你需要这样的东西:

<%= link_to "about", root_path(anchor: 'about'), class: "leftnav__link" %>

如果你想link到当前页面上的关于元素(只是滚动到它),你会做这样的事情:

<%= link_to "about", '#about', class: "leftnav__link" %>

<%= link_to "about", { anchor: 'about' }, class: "leftnav__link" %>