DeepCode DeepCode - 6 months ago 12
Ruby Question

Hanami link_to helper renders only last element

i'm new in the Hanami World.
I'have write this code:

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


I call
title
method on the template.
The html result is:

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


Why the second link overwrite the first? Where is my error?

Thanks for any replies.

Answer

it's the expected behaviour for the current version of hanami/helpers (v0.3.0).

As jodosha wrote on the issue linked above:

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.

The next version (v0.4.0) will allow to concat link_to, see this PR.

So it's not your fault, but I think the documentation is out of sync, it already shows the new version.

Hope it helps! Bye.

Comments