2016-05-30 12 views
5

ich bin neu in der Hanami Welt. I'have diesen Code schreiben:Hanami link_to Helfer rendert nur letztes 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 

Ich nenne title Methode auf der Vorlage. Das html Ergebnis ist:

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

Warum das zweite Glied die erste überschreiben? Wo ist mein Fehler?

Vielen Dank für alle Antworten.

Antwort

4

ist es die expected behaviour für die aktuelle Version hanami/helpers (v0.3.0).

Wie jodosha auf die Frage oben verlinkten schrieb:

Nach einem tiefer bei diesem Thema suchen, ist es kein Fehler. link_to funktioniert nicht wie die anderen HTML-Builder-Methoden. Das bedeutet, dass Sie vermeiden können, Tags zu concaten.

Die nächste Version (v0.4.0) ermöglicht link_to verketten finden Sie in diesem PR.

Also es ist nicht deine Schuld, aber ich denke, die documentation ist nicht synchron, es zeigt bereits die new version.

Hoffe es hilft! Tschüss.

4

Danke, habe ich meinen Code bearbeiten:

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