我对rails和haml很陌生......我无法让它正常工作。
我有这个部分(_head.html.haml):
!!!
%html
%head
%meta{'http-equiv' => 'Content-Type', :content => "text/html; charset=iso-8859-1"}
= stylesheet_link_tag 'main'
%body
然后在我的application.html.haml:
= render :partial => 'shared/head'
#wrapperDIV
= yield :layout
但输出并不完全符合我的意图:
<!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>
显然<html>
和<body>
应该包装#wrapperDIV,但似乎部分内容没有被放入正确的层次结构中。
答案 0 :(得分:4)
最终会隐式关闭部分内容。它们应该是完整的子对象。
这是你想要的:
!!!
%html
%head
%meta{'http-equiv' => 'Content-Type', :content => "text/html; charset=iso-8859-1"}
= stylesheet_link_tag 'main'
%body
#wrapperDIV
= yield :layout
如果您想将meta
和stylesheet
来电分成一部分,那么您可以这样做,但是您在haml文档末尾打开的所有标记都将被关闭。
答案 1 :(得分:1)
html
和body
需要位于application.html.haml
!!!
%html
= render :partial => 'shared/head'
%body
#wrapperDIV
= yield :layout