Hanami link_to 助手只渲染最后一个元素

Hanami link_to helper renders only last element

我是花见世界的新人。 我已经写了这段代码:

module Web::Views::Home
  class Index
    include Web::View
    include Hanami::Helpers::HtmlHelper

    def title
      html.header do
        h1 'Test search engine', id: 'title'
        hr
        div(id: 'test') do
          link_to('Home', "/", class: 'mnu_orizontal')
          link_to('About', "/", class: 'mnu_orizontal')
        end
      end
    end
  end
end

我在模板上调用了 title 方法。 html 结果是:

<header>
    <h1 id="title">Test search engine</h1>
    <hr>
    <div id="test">
        <a class="mnu_orizontal" href="/">About</a>
    </div>
</header>

为什么第二个link覆盖第一个?我的错误在哪里?

感谢任何回复。

这是 expected behaviour 当前版本 hanami/helpers (v0.3.0)。

正如 jodosha 在上面链接的问题上所写:

After a deeper looking at this issue, it isn't a bug. link_to doesn't work like the other HTML builder methods. That means you can avoid to concat tags.

下一版本 (v0.4.0) 将允许连接 link_to,请参阅此 PR

所以这不是你的错,但我认为 documentation is out of sync, it already shows the new version

希望对您有所帮助!再见

谢谢,我已经编辑了我的代码:

module Web::Views::Home
  class Index
    include Web::View
    include Hanami::Helpers::HtmlHelper

    def title
      html.header do
        h1 'Global search engine (GSearch)', id: 'title'
        hr
        div(id: 'test') do
          ul do
            li (link_to('Home', "/", class: 'mnu_orizontal'))
            li (link_to('About', "/", class: 'mnu_orizontal'))
          end
        end
      end
    end
  end
end

现在您可以将两个 link_to#+ 连接在一起。看这个例子:https://github.com/hanami/helpers/pull/52/files#diff-6a0d85bea58ea52c21a97cee6e67cad0R579