Frage

Ich bin ziemlich neu auf Schienen und haml .. und ich kann dies nicht zur Arbeit richtig machen.

Ich habe diesen Teil (_head.html.haml):

!!!
%html
  %head
    %meta{'http-equiv' => 'Content-Type', :content => "text/html; charset=iso-8859-1"}
    = stylesheet_link_tag 'main'
  %body

Und dann in meinem application.html.haml:

= render :partial => 'shared/head'
#wrapperDIV 
  = yield :layout

Aber der Ausgang ist nicht genau das, was ich beabsichtige:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <head>
    <meta content='text/html; charset=iso-8859-1' http-equiv='Content-Type' />
    <link href="/stylesheets/main.css?1266030236" media="screen" rel="stylesheet" type="text/css" />
  </head>
  <body></body>
</html>
<div id='wrapperDIV'></div>

Offensichtlich <html> und <body> sollten #wrapperDIV wickeln, aber es scheint, wie die partials nicht put in der richtigen Hierarchie bekommen.

War es hilfreich?

Lösung

Partials werden am Ende implizit geschlossen. Sie sollen komplette Unterobjekte sein.

Hier ist, was Sie wollen:

!!!
%html
  %head
    %meta{'http-equiv' => 'Content-Type', :content => "text/html; charset=iso-8859-1"}
    = stylesheet_link_tag 'main'
  %body
    #wrapperDIV 
      = yield :layout

Wenn Sie Ihre meta und stylesheet Anrufe in einem Teil setzen wollen, könnten Sie das tun, aber alle Tags haben Sie am Ende eines haml Dokuments geöffnet wird geschlossen.

Andere Tipps

Die html und body Bedürfnisse in application.html.haml sein

!!!
%html
  = render :partial => 'shared/head'
  %body
    #wrapperDIV 
      = yield :layout
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top